Spatial engine
Geodesic distances, areas and buffers on the WGS84 ellipsoid; exact topology on the coordinates; official datum and height conversions. Invalid input is refused.
Measure something →GeoSpark gives AI agents real geography — distances, reachable areas, places, buildings, terrain — and shows exactly where every number came from. If it can't answer, it says so.
Most AI tools give you a number. GeoSpark gives you the number, the tools that produced it, the data and licence behind each step, and a run record anyone can replay.
Plain words in. Places are geocoded — and when two places share a name, you're told.
"Federation Square" → −37.8180, 144.9691The agent calls real tools — routing, Overture places, terrain — and coordinates a model types from memory are flagged.
geocode → geocode → travel_timeMeasured on the WGS84 ellipsoid and validated; swapped lat/lon is caught before it misleads you.
geodesic · validated · RFC 7946Sources, licences, accuracy and caveats — plus a replay that says whether the data or the code changed.
geospark replay run.json → REPRODUCEDIsochrones from GeoSpark's own routing engine. Pick a time: the walkable area redraws and its area is measured, not estimated.
From Federation Square, Melbourne · Valhalla on OpenStreetMap · coverage: Australia
From GeoSpark Bench v2 (2026): numeric distance questions put to 9 models, from 3.8B open-weight models to frontier APIs of that time. An answer counts as correct within 10% of the geodesic distance.
Correct for language models on their own, depending on the model. Small open models were wrong about 95% of the time.
Correct with GeoSpark's tools, for every model that made valid tool calls. Some small models did not use the tools properly.
Qwen 2.5 7B, a model that runs on your own CPU: on its own, then with GeoSpark's tools.
Per-model results, intervals and caveats are in the README. The full analysis is under peer review.
Re-checked in October 2026: the newest frontier models (Claude Opus 5.5, GPT-6.1) now answer these distance questions well on their own. The gap has moved to answers that need national data such as geoid grids: converting a GNSS height to AHD, GPT-6.1 declined and Opus 5.5 estimated up to 5.3 m off; with GeoSpark's tools both were within centimetres. Details.
Geodesic distances, areas and buffers on the WGS84 ellipsoid; exact topology on the coordinates; official datum and height conversions. Invalid input is refused.
Measure something →Walk, bike or drive isochrones and travel-time matrices from a self-hosted Valhalla.
Draw an isochrone →Overture Maps places, buildings, roads and boundaries near any point — no API key.
Explore a place →A coordinator routes your goal to GeoAgent, SpatialReport or SiteSelector, with live weather and air quality.
Run an agent →GeoJSON, GeoPackage, Shapefile, GeoParquet or CSV. The CRS is read from the file; a CSV's latitude/longitude is read as WGS 84 and says so.
How it works →Record any analysis, replay it later, and learn whether the data or the code changed the answer.
Record a run →A Python library, CLI, REST API and MCP server in one package. Works with Claude, local models through Ollama, and anything that speaks MCP.
$ pip install geospark-ai $ geospark record isochrone --minutes 10 -- -37.818 144.969 ✓ run saved to iso.json $ geospark replay iso.json REPRODUCED · same data, same code