Build a CityJSON Land Use and Bounding Setback Auditor
Parse CityJSON 2.0 LandUse and Building objects to evaluate parcel boundary compliance. Compute structural setbacks from geographicalExtent coordinates to flag municipal zoning buffer infringements.
What you are building
The core problem, expected build, and operating context for this challenge.
Parse CityJSON 2.0 LandUse and Building objects to evaluate parcel boundary compliance. Compute structural setbacks from geographicalExtent coordinates to flag municipal zoning buffer infringements.
Municipal Zoning Officer
Ingest CityJSON 2.0 files containing LandUse parcels and Building footprint geometries.
Extract 2D bounding polygon coordinates from geographicalExtent and surface boundary indices.
Calculate minimum Euclidean distance between building footprint edges and parcel boundary lines.
Generate a structured zoning infraction docket highlighting non-compliant setback violations.
Zoning review console displaying parcel boundary overlays, calculated setbacks, and infraction callouts.
Use open municipal 3D city models formatted in CityJSON 2.0 or generate synthetic parcel/building pairs. Starter examples below are synthetic. They are not downloaded records.
CityJSON Extracts LandUse objects, Building objects, and geographicalExtent bounding arrays from CityJSON 2.0 Section 2.
pydantic-ai, shapely, FastAPI. Pydantic AI guarantees strictly validated infraction reports and typed geometric distance records. Fast instruction model capable of interpreting municipal zoning codes against geometric coordinates.
Submit runnable source, pinned dependencies, setup commands, a working interface, example outputs, and a recorded end-to-end demo. Include tests and an action log.
Parses LandUse and Building CityObjects from standard CityJSON 2.0 payloads.
Computes horizontal setbacks between building perimeters and parcel boundaries.
Flags structures violating minimum required municipal setback thresholds.
```json [ { "input": { "parcel_id": "PARCEL-401", "parcel_extent": [ 0, 0, 0, 50, 50, 0 ], "building_id": "BLDG-401", "building_extent": [ 6, 6, 0, 30, 30, 15 ], "required_min_setback_meters": 5 }, "expected_output": { "parcel_id": "PARCEL-401", "building_id": "BLDG-401", "computed_min_setback_meters": 6, "zoning_compliant": true, "infractions": [] } }, { "input": { "parcel_id": "PARCEL-402", "parcel_extent": [ 0, 0, 0, 40, 40, 0 ], "building_id": "BLDG-402", "building_extent": [ 2, 5, 0, 35, 35, 12 ], "required_min_setback_meters": 5 }, "expected_output": { "parcel_id": "PARCEL-402", "building_id": "BLDG-402", "computed_min_setback_meters": 2, "zoning_compliant": false, "infractions": [ "Western setback of 2.0m violates minimum required setback of 5.0m by 3.0m" ] } } ] ```
Automated checks serve as preliminary screening; final zoning permits require certified land surveyor sign-off. Use mock external writes. Require human review before any real deployment.
Participation guide
Automated checks serve as preliminary screening; final zoning permits require certified land surveyor sign-off. Use mock external writes and human review.
How work is evaluated
Parses LandUse and Building CityObjects from standard CityJSON 2.0 payloads. Computes horizontal setbacks between building perimeters and parcel boundaries. Flags structures violating minimum required municipal setback thresholds.
Runnable source, pinned dependencies, setup commands, working interface, example outputs, recorded demo, tests, and action logs.
Challenge datasets
Public datasets, plus the private datasets you have access to.
How submissions are scored
These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.
Complete workflow
Ingest CityJSON 2.0 files containing LandUse parcels and Building footprint geometries. Extract 2D bounding polygon coordinates from geographicalExtent and surface boundary indices. Calculate minimum Euclidean distance between building footprint edges and parcel boundary lines. Generate a structured zoning infraction docket highlighting non-compliant setback violations.
Missing or incorrect.
Partly complete, with documented gaps.
Complete, with reproducible evidence.
Correctness and evidence
Parses LandUse and Building CityObjects from standard CityJSON 2.0 payloads. Computes horizontal setbacks between building perimeters and parcel boundaries. Flags structures violating minimum required municipal setback thresholds.
Missing or incorrect.
Partly complete, with documented gaps.
Complete, with reproducible evidence.
Review interface
Zoning review console displaying parcel boundary overlays, calculated setbacks, and infraction callouts.
Missing or incorrect.
Partly complete, with documented gaps.
Complete, with reproducible evidence.
Safe execution
Automated checks serve as preliminary screening; final zoning permits require certified land surveyor sign-off.
This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.
What you should walk away with
Ingest CityJSON 2.0 files containing LandUse parcels and Building footprint geometries.
Extract 2D bounding polygon coordinates from geographicalExtent and surface boundary indices.
Calculate minimum Euclidean distance between building footprint edges and parcel boundary lines.
Generate a structured zoning infraction docket highlighting non-compliant setback violations.
Reference links and supporting material
Use open municipal 3D city models formatted in CityJSON 2.0 or generate synthetic parcel/building pairs. Supplied starter examples are synthetic, not source extracts.
Challenge setup
Configuration summary for this challenge.
Challenge input
Input details are not configured.
Pydantic AI
Typed Python agent framework.
Evaluated output
No output checks are configured.
- Ingest CityJSON 2.0 files containing LandUse parcels and Building footprint geometries. Extract 2D bounding...
- Parses LandUse and Building CityObjects from standard CityJSON 2.0 payloads. Computes horizontal setbacks b...
- Zoning review console displaying parcel boundary overlays, calculated setbacks, and infraction callouts.
- 2 public reference cases
- 2 configured tools
Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.
View technical recipe
Configured tools
- Pydantic AI · Optional
- Pydantic AI · Optional
Evaluation contract
- Complete workflow · Weight 40
- Correctness and evidence · Weight 30
- Review interface · Weight 20
- Safe execution · Weight 10
Reference cases
- 2 public reference cases
Workflow tasks
No workflow tasks are configured.
Recipe freeze marker
No recipe freeze time is recorded.