fio-l2-capetown-landuse-dissolve
Analyst notes
Description
Tests format-I/O composition: dissolve a Cape Town land-use FlatGeobuf by `class`, collect each per-class result into a single MultiPolygon, compute the per-class total area and source-parcel count, and write a GeoParquet in the input's projected CRS. The prompt deliberately omits the EPSG code and the input format so the agent has to read both off the bundled file and pick the right projection for the area math on its own.
Approach
- Read the bundled land-use file and inspect its CRS, geometry types, and the `class` column.
- Group features by `class` and union the per-class geometries.
- Collect each per-class result into a single MultiPolygon, wrapping any plain Polygon so every row carries the same geometry type.
- Compute `parcel_count` as the input feature count per class and `area_m2` as the dissolved-geometry area in projected metres.
- Write the result to `landuse_dissolved.geoparquet` in the input's projected CRS with one row per class.
Pitfalls
- Computing area in the geographic CRS (degrees squared) or after reprojecting to WGS84 produces nonsense numbers, so the area has to come from the projected geometry.
- Reporting area in km² instead of m² is off by a factor of a million and trips the per-class area-tolerance check.
- Skipping the single-to-multi collect leaves Polygon rows mixed in with MultiPolygons, so the geometry-type check fails even when everything else is right.
- Dropping small or singleton classes (for example, keeping only the top N by parcel count) breaks the class-set and unioned-IoU checks.
- Writing the output in the wrong format (still FlatGeobuf, or a GeoPackage / GeoJSON) or under the wrong filename means the grader cannot even open it.
Map
Recent runs task v2
| adapter | started | score | steps | duration | cost | status |
|---|---|---|---|---|---|---|
| openrouter-gemma4-26b-basic | 2026-06-18T07:32:32Z | pending | — | — | — | pending |
| openrouter-deepseek-v4-flash-basic | 2026-06-18T03:08:04Z | 0.94 | 13 | 2:04 | 0.36¢ | done |
| openrouter-deepseek-v4-flash-detailed | 2026-06-17T22:01:33Z | 0.94 | 12 | 2:25 | 0.36¢ | done |
| openrouter-gemma4-26b-detailed | 2026-06-17T19:47:47Z | 0.94 | 7 | 0:54 | 0.17¢ | done |
| openrouter-deepseek-v4-flash-basic | 2026-06-16T21:43:55Z | 1.00 | 15 | 2:11 | 0.36¢ | done |