spa-l1-paris-amenity-within

Analyst notes

Description

Tests an L1 spatial join with the within predicate over a two-layer GeoPackage, plus an attribute-parsing wrinkle: the arrondissement number has to come out as a plain integer, but the source layer only carries the French ordinal name (Paris 1er Arrondissement, Paris 2e Arrondissement, ..., Paris 20e Arrondissement). The prompt deliberately omits any hint about the ordinal, the join predicate, and the input CRS, so the agent has to read the GeoPackage layers, recognise that within is the right predicate, and parse the integer out of the name on its own.

Approach

  1. Open the GeoPackage and list its layers to find the amenity points and the arrondissement polygons.
  2. Spatially join each amenity to the arrondissement that contains it.
  3. Carry the arrondissement name through to the output verbatim and parse the integer number out of the French ordinal embedded in that name.
  4. Carry `osm_id` and `amenity_class` through from the amenity layer unchanged.
  5. Write a flat CSV with one row per amenity and the four required columns.

Pitfalls

Inputs

nameformatcrsgeometryfeatures
amenities gpkg EPSG:2154 Point 85
arrondissements gpkg EPSG:2154 Point 85

Expected outputs

nameformatcrsgeometryfeatures
amenity_to_arrondissement.csv csv

Map

Recent runs task v2

adapterstartedscorestepsdurationcoststatus
openrouter-gemma4-26b-basic 2026-06-18T07:32:32Z pending pending
openrouter-deepseek-v4-flash-basic 2026-06-18T03:08:04Z 1.00 8 1:08 0.19¢ done
openrouter-deepseek-v4-flash-detailed 2026-06-17T22:01:33Z 1.00 9 0:44 0.19¢ done
openrouter-gemma4-26b-detailed 2026-06-17T19:47:47Z 1.00 9 1:32 2.35¢ done
openrouter-deepseek-v4-flash-basic 2026-06-16T21:43:55Z 1.00 12 1:18 0.31¢ done