Conversational GIS for Dutch municipalities
Ask your municipal map a question.
GeoAI answers questions about your geodata in plain Dutch or English. It finds the right datasets, checks its plan against the real data, and returns an answer, a map and a download. Or an honest “I can’t”, with the reason.
Runs fully on your own servers. No question or dataset leaves the building.
- place your territory
- data tree register · school locations
- plan within 50 m, each tree once
- checks passed against the data
Illustration
Who it’s for
Most GIS questions aren’t hard. They’re just impossible for anyone who doesn’t know where the data lives.
Policy and domain staff
Ask about your own municipality without GIS software, without knowing which dataset holds what, and without waiting in a queue.
GIS and data teams
Hand off the routine questions. Every answer shows the datasets it chose, the plan and the SQL that ran, so you can check it the way you’d check a colleague’s query.
Decision makers
Numbers that arrive with their conditions: what was counted, where, and from which register. And a clear “no” when the data can’t say.
How it works
From a question to a checked answer.
- 1
Understand
Places are matched to official districts and neighbourhoods by code, not guessed. Conditions, groupings and dates are pinned down.
- 2
Find the data
A catalogue GeoAI builds from your own tables is searched by meaning. Similar registers are compared on measured overlap before anything is counted.
- 3
Plan and check
The model fills in a structured plan, never SQL. More than thirty checks test it against the real data before it runs.
- 4
Answer
A short answer in your language, the result on a map, a scope note written by code, and a GeoJSON or CSV download of the full result.
Honest by design
A correct answer, or an honest “I can’t”. Never a confident wrong one.
A wrong number looks exactly like a right one, and it travels: into a memo, a council question, a budget. GeoAI treats a refusal with a reason as a good outcome, and is tested that way.
“412 buildings in the district still have label F or G. Counted from the issued-label register.”
“Do you mean buildings built before 1945, or listed as monuments?”
“The bench register doesn’t record material, so I can’t tell wooden benches apart. I can count all benches instead.”
Illustrative answers
What you can ask
Eight families of analysis, in plain words.
Find and filter
Homes more than 500 m from the nearest waste container.
Count per area
Which neighbourhoods have no playground?
Statistics per group
Most common energy label per neighbourhood.
Compare registers
Buildings that still have no energy label.
Registers + statistics
Average floor area per district of buildings without a label.
Isolation and gaps
Benches with no other bench within 200 m.
Measure size
The perimeter of the five largest ponds.
Ratios between datasets
Square metres of green space per resident, per district.
Data sovereignty
Nothing leaves the building.
Municipal geodata points at people’s homes. GeoAI runs entirely on your own hardware, from a single GPU workstation upward. No cloud account, no model provider, no third party between a question and your data.
- PostgreSQL · PostGIS · pgvectoryour data and its catalogue, in your database
- Open-weight models, locallyone to understand and plan, one to search by meaning
- Pinned and reproduciblenothing changes unless you change it
- Your territory is configurationa list of municipality codes, not new code
See it think
Try it on the Stage.
Type a question and watch it travel through every stage: concepts lighting up, datasets falling into place, roles assigned, the plan drawn between them, and the result landing on a real map of your territory.
The Stage needs a personal account. Request access and we’ll email you a login, or sign in if you have one.
From the blog
How GeoAI works, and what we got wrong.
Bring GeoAI to your own data.
A new municipality needs its data loaded and its territory set, not a new version of the software. We’ll show you what that looks like on your datasets.