Skip to main content

Geoprocessing Panel

The Geoprocessing panel lets you run spatial operations and analysis directly on your project layers — no AI chat required. It is designed for GIS analysts and planners who know exactly what operation they want and need fast, repeatable results.

The panel is organised into four tabs: Spatial Analysis, Vector Processing, Remote Sensing, and Query.

info

The Geoprocessing panel requires the GeoAI sidecar service to be running. If your organisation has not enabled this service, some sections will show a message explaining that advanced tools are unavailable.

Opening the panel

Click the Geoprocessing button in the left toolbar. The panel opens on the right side of the screen, overlaying the map.

Click the button again, or use the X button in the panel header, to close it.


Spatial Analysis tab

The Spatial Analysis tab contains tools that work directly on the 3D globe. Click a section to open it — the corresponding tool activates on the map automatically.

Viewshed

Shows which parts of the terrain are visible from a chosen observer point. Visible areas appear in green, blocked areas in red, and partially visible areas in yellow.

  1. Open the Viewshed section. The cursor changes to a crosshair.
  2. Click on the terrain to place the observer point — the cursor returns to normal.
  3. Configure the settings below.
  4. Click Run to start the analysis.
SettingDescription
Observer height (m)Height above the terrain at the observer point. Simulates a person, rooftop, or tower.
Radius (m)How far the analysis extends from the observer.
ResolutionLow, Medium, or High. Higher resolution gives finer detail but takes longer.
Include buildingsWhen enabled, building occlusion is also considered (3D mode only).

Results show visible cells, blocked cells, and the total number of cells analysed. Click Export to download as GeoJSON or CSV, or Save as layer to add the result to your project. Click Reposition to pick a new observer point (confirmation required if results exist).

note

The viewshed tool is also accessible from the Tools panel at the bottom of the screen. Both entry points run the same analysis.

Shadow Accumulation

Estimates solar exposure across a defined area over a date range. The result is a colour-coded overlay — green cells receive more sun, red cells spend more time in shadow.

  1. Open the Shadow section. The cursor changes to a crosshair.
  2. Click on the terrain to set the analysis centre — the cursor returns to normal.
  3. Configure the settings below.
  4. Click Run to start.
SettingDescription
Grid size (m)Physical size of each grid cell in metres.
Grid cellsNumber of cells along each side of the grid.
Step (min)Time interval between sun position samples. Smaller steps improve accuracy but increase computation time.
Start / End dateThe date range to accumulate solar exposure over.
Day start / Day end (h, UTC)The hours of the day to include. Adjust for your local time zone.
GPU accelerationUses the shadow map shader for faster computation. Requires shadows to be enabled in the viewer and 3D mode. Falls back to CPU ray-casting when unavailable.

Results show average, minimum, and maximum shadow hours. Click Export or Save as layer.

warning

The total iteration count (grid cells squared × days × steps per day) is capped at 500,000 to prevent the browser from freezing. If your settings exceed the cap, reduce the grid resolution, increase the step interval, or shorten the date range.

info

Study hours are in UTC to match the viewer timeline. Adjust day start and day end to account for your local time zone offset.

Isochrone

Shows how far you can travel from a starting point in a given time, using real road network data. Results appear as filled polygons — one per time interval.

  1. Open the Isochrone section. The cursor changes to a crosshair.
  2. Click on the terrain to place the origin point — the cursor returns to normal.
  3. Choose a Transport mode: Walking, Cycling, or Driving.
  4. Enter Time intervals as a comma-separated list in minutes (for example: 5,10,15). Each value must be between 1 and 120 minutes.
  5. Click Run.

Results show the number of polygons generated and the total area covered. Click Export or Save as layer.

info

Isochrone analysis uses the OpenRouteService API and requires a network connection. It covers most of the world where road network data is available in OpenStreetMap.

Flood Simulation

Simulates water inundation across the terrain based on a specified water level. Cells below the water level at or connected to the starting point are marked as flooded.

  1. Open the Flood section. The cursor changes to a crosshair.
  2. Click on the terrain to place the analysis centre — the cursor returns to normal.
  3. Set the Water level (metres above the terrain anchor point, 0–10 m).
  4. Set the Grid size (metres per cell, 100–5000 m) and Grid cells (5–50 per side).
  5. Click Run simulation.
SettingDescription
Water level (m)Height of the water surface above the anchor point.
Grid size (m)Physical width of each grid cell. Smaller values give finer detail.
Grid cellsNumber of cells along each side. Larger values cover more area.

Results show flooded cells, flooded area, maximum depth, and terrain elevation statistics. Click Export or Save as layer. The saved layer includes a depthMeters attribute and is styled automatically to show flood depth.

note

Flood simulation is a simple terrain-based inundation model. It does not account for drainage, flow direction, or hydrological barriers such as embankments. Use it for broad planning estimates, not precise flood modelling.


Vector Processing tab

The Vector Processing tab contains operations that produce new GeoJSON layers from your existing layers.

note

Only GeoJSON layers can be used as inputs. If your data is in a shapefile or another format, import it first — it is converted to GeoJSON automatically.

Geoprocessing operations

Run standard vector operations. Each operation produces a new GeoJSON layer added to your project.

OperationWhat it doesRequired inputs
BufferExpands each feature outward by a fixed distanceInput layer, distance in metres
ClipCuts the input layer to the shape of the overlay layerInput layer, overlay layer
DissolveMerges features together, optionally grouping by a fieldInput layer, optional dissolve field
MergeCombines two or more layers into one2 or more layers
IntersectionKeeps only the areas where both layers overlapInput layer, overlay layer
DifferenceRemoves the overlay area from the inputInput layer, overlay layer
UnionCombines both layers, preserving all areasInput layer, overlay layer

To run an operation:

  1. Select an Operation from the dropdown.
  2. Select your Input layer.
  3. If required, select an Overlay layer (cannot be the same as the input).
  4. For Buffer, enter a distance in metres.
  5. For Dissolve, optionally choose a Dissolve by field.
  6. For Merge, select two or more layers from the list.
  7. Optionally enter an Output layer name.
  8. Click Run.
warning

Geoprocessing operations require contributor role or higher.

Spatial Join

Appends attributes from a join layer to features in an input layer, based on their geographic relationship. The result is a new enriched GeoJSON layer.

  1. Select an Input layer — the layer whose features will receive new attributes.
  2. Select a Join layer — the layer whose attributes will be appended.
  3. Choose a Spatial relationship:
RelationshipMatches features where...
IntersectsThe input and join features share any area or boundary
WithinThe input feature is fully inside the join feature
ContainsThe input feature fully contains the join feature
NearestThe join feature is the closest one to the input feature
  1. Choose an Aggregation for cases where multiple join features match one input feature:
AggregationResult
FirstValue from the first matching join feature
CountNumber of matching join features
SumSum of a numeric attribute across all matches
MeanAverage of a numeric attribute across all matches
MinLowest value across all matches
MaxHighest value across all matches
  1. Optionally enter an Output layer name.
  2. Click Run.
warning

Spatial Join requires contributor role or higher.


Remote Sensing tab

Image Analysis

Upload a raster image or reference a STAC asset for AI-powered analysis. The panel accepts GeoTIFF uploads or Copernicus STAC URLs. Results are summarised inline and can be added as a layer.

Temporal Compare

Compares Sentinel-2 satellite imagery from two different dates over the current map view to detect land cover change. The tool works in two sequential phases: first it finds and displays the imagery side by side, then you run AI change detection to produce a quantified results layer.

Phase 1 — Find and compare imagery

  1. Open the Temporal Compare section in the Remote Sensing tab.
  2. Set the Before date and After date using the side-by-side date pickers. The defaults are one year ago and today.
  3. Position the map to frame the area of interest — the tool uses the current viewport as its search area.
  4. Click Compare imagery.

The platform searches the Copernicus STAC catalog for Sentinel-2 L2A scenes within ±15 days of each date, selecting the image with the lowest cloud cover (below 20%). If no suitable image is found within 15 days, the search automatically widens to ±30 days. Two new raster layers are created in your project — named Before — YYYY-MM-DD and After — YYYY-MM-DD — and the viewer enters split view so you can swipe between them.

Phase 2 — Detect changes

Once the comparison is loaded, a AI Change Detection section appears below the Compare button.

  1. Click Detect changes.
  2. Wait 1–2 minutes while the ML analysis runs on the server.

When complete, a new GeoJSON layer named Changes — YYYY-MM-DD vs YYYY-MM-DD is added to your project with automatic styling:

ColourMeaning
GreenGain — new vegetation, construction, or cover added
RedLoss — vegetation removed, demolition, or clearing
YellowGeneral change — spectral shift not classified as gain or loss

Results statistics

The results panel shows:

StatisticDescription
Changed areaTotal area of detected change, shown in m², ha, or km²
Change percentagePercentage of the analysed area that changed
Change regionsNumber of discrete changed polygons
Gain / Loss breakdownCount of gain and loss regions separately

Click Download results to save the change detection layer as a GeoJSON file.

tip

For the clearest results, choose dates in the same season. Comparing summer to winter imagery can produce false positives from seasonal vegetation change rather than actual land use change.

note

The imagery search requires an acceptable cloud cover below 20%. If your area has persistent cloud cover, try shifting your target dates by a few weeks, or choose a drier season. The search window expands automatically to ±30 days before reporting failure.

info

Both the Before and After raster layers remain in your project after the comparison so you can inspect them independently or re-run change detection with different settings.


Query tab

SQL Query

Run DuckDB SQL queries directly against your GeoJSON layers. Results are displayed as a table inline — no new layer is created. Use this for quick attribute summaries, counts, and ad-hoc data exploration.

  1. Under Tables, select one or more GeoJSON layers to query. Each selected layer becomes a table.
  2. Reference chips show the sanitized table name for each layer (spaces and special characters become underscores). Use these exact names in your SQL.
  3. Write your SQL in the query text area.
  4. Adjust Max rows if needed (maximum 100).
  5. Click Execute.
-- Count features by category
SELECT category, COUNT(*) AS total
FROM my_layer
GROUP BY category
ORDER BY total DESC

-- Find features above a threshold
SELECT name, population
FROM districts
WHERE population > 50000
tip

SQL Query is available to all project members, including viewers. It is read-only and does not create or modify layers.


Geoprocessing vs. GeoAI Agent

Use the Geoprocessing panel when...Use the GeoAI Agent when...
You know exactly which operation you wantYou want to describe a goal in plain language
You need a fast, repeatable workflowYou want GeoAI to suggest an approach
You want to run SQL queries on your dataYou want analysis results as charts and summaries
You want to run viewshed, shadow, or flood analysisYou want GeoAI to find and compare data sources

See GeoAI Agent for more on the conversational AI assistant.