Skip to main content
Challenge

Build a CityJSON Cadastral Boundary Validator

Examine land parcel boundaries and building footprints inside CityJSON models to verify setback distances. Detect encroachments across municipal property lines and produce zoning compliance reports.

EngineeringHosted by Vera
Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Examine land parcel boundaries and building footprints inside CityJSON models to verify setback distances. Detect encroachments across municipal property lines and produce zoning compliance reports.

Municipal Land Records Examiner

Extract 2D building footprints and LandUse parcel geometries from CityJSON dataset.

Calculate minimum Euclidean distance between exterior building vertices and parcel limits.

Compare computed distances against mandatory front, rear, and side setback regulations.

Compile infraction summary highlighting encroaching vertices for planning authority.

Map viewer displaying parcel polygons, building bounds, setback violation buffers, and report log.

Synthetic CityJSON parcels generated from standard CityJSON v2.0 coordinate and LandUse schemas. Starter examples below are synthetic. They are not downloaded records.

CityJSON Extracts LandUse and Building CityObjects along with coordinate vertices and transform scale factors as defined in CityJSON 2.0.

qdrant, shapely, fastapi. Qdrant stores spatial attribute embeddings and zoning regulations to rapidly match local setback rules. Local or cloud LLM with strong geometric validation and structured report drafting abilities.

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.

Decompresses CityJSON vertex integer coordinates using scale and translate factors.

Computes horizontal setback distance between building polygon and lot boundary.

Flags setback breaches less than the statutory 3.0m municipal buffer limit.

```json [ { "input": { "parcel_id": "LOT-441", "parcel_polygon": [ [ 0, 0 ], [ 20, 0 ], [ 20, 30 ], [ 0, 30 ] ], "building_id": "BLDG-441", "building_polygon": [ [ 4, 4 ], [ 16, 4 ], [ 16, 24 ], [ 4, 24 ] ], "min_required_setback_m": 3 }, "expected_output": { "compliant": true, "measured_min_setback_m": 4, "encroachment_detected": false, "status": "APPROVED" } }, { "input": { "parcel_id": "LOT-442", "parcel_polygon": [ [ 0, 0 ], [ 20, 0 ], [ 20, 30 ], [ 0, 30 ] ], "building_id": "BLDG-442", "building_polygon": [ [ 1.5, 4 ], [ 17, 4 ], [ 17, 25 ], [ 1.5, 25 ] ], "min_required_setback_m": 3 }, "expected_output": { "compliant": false, "measured_min_setback_m": 1.5, "encroachment_detected": true, "status": "VIOLATION_SETBACK" } } ] ```

Encroachment warnings are purely advisory; official boundary determinations require licensed land surveyor sign-off. Use mock external writes. Require human review before any real deployment.

Rules

Participation guide

Encroachment warnings are purely advisory; official boundary determinations require licensed land surveyor sign-off. Use mock external writes and human review.

Delivery guide

How work is evaluated

Evaluation

Decompresses CityJSON vertex integer coordinates using scale and translate factors. Computes horizontal setback distance between building polygon and lot boundary. Flags setback breaches less than the statutory 3.0m municipal buffer limit.

Submission format

Runnable source, pinned dependencies, setup commands, working interface, example outputs, recorded demo, tests, and action logs.

Datasets

Challenge datasets

Public datasets, plus the private datasets you have access to.

Evaluation rubric

How submissions are scored

These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.

Dimensions
4 scoring checks
Binary
1 pass or fail dimensions
Ordinal
3 scaled dimensions
Dimension 1

Complete workflow

Extract 2D building footprints and LandUse parcel geometries from CityJSON dataset. Calculate minimum Euclidean distance between exterior building vertices and parcel limits. Compare computed distances against mandatory front, rear, and side setback regulations. Compile infraction summary highlighting encroaching vertices for planning authority.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 2

Correctness and evidence

Decompresses CityJSON vertex integer coordinates using scale and translate factors. Computes horizontal setback distance between building polygon and lot boundary. Flags setback breaches less than the statutory 3.0m municipal buffer limit.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 3

Review interface

Map viewer displaying parcel polygons, building bounds, setback violation buffers, and report log.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 4

Safe execution

Encroachment warnings are purely advisory; official boundary determinations require licensed land surveyor sign-off.

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

What you should walk away with

  • Extract 2D building footprints and LandUse parcel geometries from CityJSON dataset.

  • Calculate minimum Euclidean distance between exterior building vertices and parcel limits.

  • Compare computed distances against mandatory front, rear, and side setback regulations.

  • Compile infraction summary highlighting encroaching vertices for planning authority.

Resources and assets

Reference links and supporting material

Dataset notes

Synthetic CityJSON parcels generated from standard CityJSON v2.0 coordinate and LandUse schemas. Supplied starter examples are synthetic, not source extracts.

Challenge setup

Configuration summary for this challenge.

Challenge input

Input details are not configured.

Qdrant

Open-source vector database.

Evaluated output

No output checks are configured.

Evaluation checks
  • Extract 2D building footprints and LandUse parcel geometries from CityJSON dataset. Calculate minimum Eucli...
  • Decompresses CityJSON vertex integer coordinates using scale and translate factors. Computes horizontal set...
  • Map viewer displaying parcel polygons, building bounds, setback violation buffers, and report log.
Configured evaluation evidence
  • 2 public reference cases
Configured runtime
  • 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

Action Space
  • Qdrant · Optional
Observation
  • Qdrant · 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.

Frequently Asked Questions about Build a CityJSON Cadastral Boundary Validator