spa-l3-paris-emergency-routing
Analyst notes
Description
This task tests whether the agent can run an end-to-end routing workflow on a live-fetched OSM graph and ship the four-layer GPKG a SAMU GIS team would actually open. The hidden gotcha is the CRS: the prompt says 'the official metric coordinate system for Paris' without naming Lambert-93 (EPSG:2154), and the agent is expected to infer the national grid from regional convention rather than fall back on a generic UTM zone.
Approach
- Pull the driveable highway network and all hospitals from Overpass for the given bbox, watching the query size so it does not time out.
- Build a directed routing graph that respects oneway tags and weights edges by travel time (posted maxspeed where present, 30 km/h otherwise).
- For each incident in incidents.csv, snap to the nearest network node and run a shortest-path search to find the closest hospital by network distance; export the route geometry as a LineString.
- Compute the network distance from each incident to its three nearest hospitals and order them by rank within each incident.
- Generate a 15-minute drive-time isochrone around every hospital (a convex or concave hull over the set of nodes reachable inside the time budget is acceptable).
- Reproject every spatial layer to Lambert-93 (the national grid for metropolitan France) and write a single multi-layer GeoPackage with the four required layers and column names.
Pitfalls
- Picking a generic UTM zone (32631) instead of Lambert-93 still scores most of the task but costs the canonical-CRS subcheck, because the prompt asks for the official metric CRS for Paris rather than any defensible metric CRS.
- Using Euclidean (straight-line) distance instead of network distance produces hospital matches and isochrones that look superficially right but fail the distance and IoU subchecks.
- Building an undirected graph or ignoring oneway tags lets the router cut against traffic, which systematically shortens distances and skews the rank ordering.
- Forgetting to translate maxspeed into a travel-time weight produces isochrones sized by raw distance, which collapses them on dense networks and inflates them on sparse ones.
- Writing GeoJSON or a separate file per layer instead of a single multi-layer GPKG fails Gate 1 because the four required layer names cannot be located.
- Losing CRS metadata on any spatial layer makes the file fail the format gate, and storing degree coordinates while declaring a projected CRS trips the coordinate-range sanity subcheck.
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 | done | 27 | 5:55 | 2.07¢ | done |
| openrouter-deepseek-v4-flash-detailed | 2026-06-17T22:01:33Z | done | 77 | 65:37 | 13.75¢ | done |
| openrouter-gemma4-26b-detailed | 2026-06-17T19:47:47Z | done | 27 | 22:50 | 5.04¢ | done |
| openrouter-deepseek-v4-flash-basic | 2026-06-16T21:43:55Z | 0.50 | 69 | 32:28 | 9.69¢ | done |