Desktop GIS · Rust · In development

Spatial analysis you can re-run and explain.

ageomaps is a local-first desktop GIS built in Rust, on one idea: an analysis should be a workflow you can read, re-run, and compare — not a pile of one-off clicks. Ingest data, review the plan, run it, and export reviewable outputs.

In active development — no public release yet. Open formats in, open formats out.

Rust
application core
GEOS
vector engine
GDAL
raster & terrain
0
telemetry
Speaks your stack

Capabilities

What's working today

The core loop — import → workflow → review/export — runs end to end, with tests behind every promoted surface.

Workflows, not click trails

An analysis is a workflow you can read, re-run, and compare — compose steps, review the plan, run it. Every step that touches data writes a typed receipt.

Real GIS engines

GEOS handles vector topology: buffer, clip, dissolve, overlay, spatial joins. GDAL-backed paths handle raster and terrain — slope, aspect, hillshade, viewshed, zonal statistics.

Checkpoints & branches

Sessions checkpoint automatically. Named saves, branches, and side-by-side comparison let you try an edit, walk back, and explain the difference between two runs.

A native map canvas

A Qt shell over MapLibre Native, joined to the Rust core by a project-owned C++ bridge. Offline Natural Earth basemaps ship with the app.

Reviewable export

Export is not a screenshot. The export path builds PDF, PNG, SVG, and native Qt map outputs with methodology and stale-input review attached.

Local-first by design

Projects, data, and edits live on your machine. Natural-language planning compiles into the same reviewable workflow IR — opt-in and gated, never a black box.

The route

From raw data to reviewable output

A straight line — four stops from import to export.

  1. 01

    Bring your data

    Import GeoJSON, GeoParquet, or read-only FileGDB — validated on the way in, with connector flows in beta.

  2. 02

    Assemble the workflow

    Compose buffer, clip, join, dissolve, and terrain steps, then review the plan before anything runs.

  3. 03

    Run & compare

    Every run writes typed receipts. Checkpoints and branches make two runs comparable side by side.

  4. 04

    Export for review

    Build PDF, PNG, SVG, or native map outputs with the methodology attached.

In the app

A focused desktop workspace

A Qt shell over a MapLibre canvas — import, workflow, review, and export in one window.

ageomaps — Workspace
The ageomaps desktop GIS showing a Natural Earth basemap of Africa, the workspace panel with options to ask a question, import data, open a sample, or create a project, and a command search bar.
A real capture of the app today: the Qt shell over a MapLibre canvas, the workspace panel, and the command bar.
ageomaps — Style (concept)
Design mock-up of the ageomaps style editor with an elevation color ramp and a MapLibre-compatible style spec
Design mock-up: the styling direction the editing surfaces are building toward.
ageomaps — Analysis (concept)
Design mock-up of the ageomaps analysis view with a spatial query and a results table
Design mock-up: the analysis-table direction for advanced table operations.

The workspace capture is the real app; the two panels below it are design mock-ups.

Your data, your boundary

Connect, import, export — on your terms

Everything is validated on the way in, and live refresh is opt-in. Connections stay explicit: the app tells you what it read, when, and from where — that's what the typed receipts are for.

Connect

  • ArcGIS FeatureServer
  • opt-in live refresh
  • PostGIS (beta)
  • WFS (beta)

Import

  • GeoJSON
  • GeoParquet
  • FileGDB (read-only)
  • Raster & terrain

Export

  • PDF
  • PNG
  • SVG
  • Native Qt map

Where it stands

In active development. No public release yet.

The core import → workflow → review/export loop works today. What's left before a release is promotion and polish: broader CRS support, advanced table operations, richer export formats, and moving the gated connector and natural-language paths into a default build.

A solo project by Griffin Hale — architecture, native bridge, and validation.