Research task pack

Task definitions

Versioned geospatial tasks with deterministic checks. Every verifier reads output content, so filename-only success fails. Everything here is original synthetic data: the full pack — inputs, tolerances, expected values, and the exact verifier scripts — is downloadable as a zip, so you can check any published run yourself.

Task pack

7 versioned tasks · provenance declared per task

Task crs-reproject-3857 · v1

CRS diagnosis: reproject projected points to WGS84

crs-diagnosis difficulty 2

The file input.geojson contains points in an unknown projected coordinate reference system. The coordinates are large (millions), which indicates a projected CRS in metres. Determine that the CRS is EPSG:3857 (Web Mercator), then reproject the points to EPSG:4326 (WGS84). Write the result to output.geojson as a GeoJSON FeatureCollection with a CRS of EPSG:4326. Use geopandas and pyproj. Do not invent coordinates.

Output: output.geojson · Verifier: crs · Tools: geopandas, shapely, pyproj · Time budget: 120 s

False-success check: Creating output.geojson that is empty, retains projected coordinates, or has fewer than 3 features must fail.

original-synthetic Original synthetic deterministic fixture authored for GIS Agent Arena · licence: Original synthetic data; unrestricted reuse

Evidence record → · Recorded runs

Task vector-buffer-1km · v1

Vector buffer: 1000 m buffers around points in WGS84

vector-buffer difficulty 2

The file sites.geojson contains two points in EPSG:4326. Create a 1000 metre buffer around each point. Because the data is in degrees you must reproject to a suitable projected CRS (e.g. EPSG:3857) before buffering, so the 1000 m distance is correct. Write the buffers to buffers.geojson as a GeoJSON FeatureCollection in EPSG:4326, with one feature per input point. Use geopandas and shapely. Each buffer must have an area close to pi * 1000^2 square metres.

Output: buffers.geojson · Verifier: buffer-area · Tools: geopandas, shapely, pyproj · Time budget: 120 s

False-success check: Creating buffers.geojson with buffers in degrees, wrong feature count, or area outside tolerance must fail.

original-synthetic Original synthetic deterministic fixture authored for GIS Agent Arena · licence: Original synthetic data; unrestricted reuse

Evidence record → · Recorded runs

Task raster-zonal-mean · v1

Raster zonal statistics: mean pixel value within a zone polygon

raster-zonal-stats difficulty 2

The file grid.asc is an ESRI ASCII raster. The file zone.geojson contains a single polygon. Compute the mean of the raster pixel values that fall inside the zone polygon. Write the result to stats.json as JSON with a single key "mean" (a number). Use rasterio and numpy. Mask the raster with the polygon geometry. Exclude nodata and NaN values.

Output: stats.json · Verifier: raster-stats · Tools: rasterio, numpy, shapely · Time budget: 120 s

False-success check: Writing stats.json with a whole-grid mean instead of the zonal mean, or a fabricated number, must fail the independent recompute.

original-synthetic Original synthetic deterministic fixture authored for GIS Agent Arena · licence: Original synthetic data; unrestricted reuse

Evidence record → · Recorded runs

Task simple-buffer-v6 · v6

Simple Buffer (clean v6 fixture)

vector-buffer difficulty 1

Read parcels.geojson in EPSG:3857 and create a 25 metre buffer around every parcel polygon. Write simple_buffers.geojson with one buffered feature per input parcel and preserve the projected CRS. Use geopandas and shapely; do not drop features or fabricate geometries.

Output: simple_buffers.geojson · Verifier: simple-buffer · Tools: geopandas, shapely · Time budget: 120 s

False-success check: An empty file, a filename-only artifact, or buffers with a different distance must fail independent geometry checks.

original-synthetic Original synthetic deterministic fixture authored for GIS Agent Arena · licence: Original synthetic data; unrestricted reuse

Evidence record → · Recorded runs

Task site-suitability-v6 · v6

Site Suitability (clean v6 fixture)

site-suitability difficulty 2

Select candidate sites that are inside study_area.geojson and have a score of at least 0.6. Write suitable_sites.geojson containing the original point geometries and site_id properties for every selected site. Use geopandas and shapely. Preserve the input CRS and do not include sites outside the study area.

Output: suitable_sites.geojson · Verifier: site-suitability · Tools: geopandas, shapely · Time budget: 120 s

False-success check: Reporting a count without the selected point features, including an outside or low-score site, must fail.

original-synthetic Original synthetic deterministic fixture authored for GIS Agent Arena · licence: Original synthetic data; unrestricted reuse

Evidence record → · Recorded runs

Task geoanalystbench-point-in-polygon-v1 · v1

GeoAnalystBench subset: count points by polygon zone

geoanalystbench difficulty 1

Count points from points.geojson that fall inside each polygon in zones.geojson. Write zone_counts.json as an object mapping each zone_id to its integer point count. Use geopandas and shapely, include every zone even when its count is zero, and ignore points outside all zones.

Output: zone_counts.json · Verifier: geoanalystbench-counts · Tools: geopandas, shapely · Time budget: 120 s

False-success check: A fabricated count, omitted zone, or count of points outside every zone must fail independent point-in-polygon recomputation.

public-adapted GeoAnalystBench public task catalogue; original synthetic fixture · licence: Public upstream reference; this fixture is original synthetic data · source

Evidence record → · Recorded runs

Task emergency-access-plan-v1 · v1

Emergency access plan: constrained site selection and service assignment

emergency-access-plan difficulty 3

Prepare an emergency access plan from five projected input files in EPSG:3857. Read requirements.json, then identify candidate sites that meet the score and capacity thresholds, are outside exclusion_zones.geojson, and are within the allowed distance of an all-weather route. Seasonal routes do not count. For every service zone, use its polygon centroid and assign it to the nearest eligible site within the stated service distance. Do not assign an unreachable zone. Write access_plan.geojson with one feature for every eligible site assigned at least one zone. Preserve each selected point geometry and site_id. Add assigned_zone_ids as a sorted JSON array and covered_demand as the summed demand of its assigned zones. Use geopandas and shapely. Preserve EPSG:3857. The verifier will independently recompute eligibility, nearest-site assignment, geometry, and demand totals.

Output: access_plan.geojson · Verifier: emergency-access-plan · Tools: geopandas, shapely, pyproj · Time budget: 240 s

False-success check: A plausible site list that uses a seasonal route, keeps an excluded or low-capacity site, assigns the remote zone, changes point geometry, or fabricates demand totals must fail.

original-synthetic Original synthetic deterministic fixture authored for GIS Agent Arena · licence: Original synthetic data; unrestricted reuse

Evidence record → · Recorded runs