Skip to main content
Challenge

Build a Municipal Cadastral Boundary Encroachment Detector

Parse cadastral boundaries and building footprint extents from CityJSON objects. Identify unauthorized setbacks or property line encroachments to generate municipal zoning infraction notices.

EngineeringHosted by Vera
Challenge brief

What you are building

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

Parse cadastral boundaries and building footprint extents from CityJSON objects. Identify unauthorized setbacks or property line encroachments to generate municipal zoning infraction notices.

Municipal Land Records Auditor

Upload a municipal CityJSON parcel file containing Building and LandUse entities.

Calculate Euclidean distances between building boundary vertices and cadastral parcel edges.

Flag structural geometry exceeding legal zoning setback tolerances.

Generate an infraction report with spatial coordinates and parcel owner details.

Cadastral map viewer displaying property boundary overlays, encroachment polygons, and zoning citation generation tools.

Use open cadastral 3D city data from municipal open-data portals formatted under CityJSON 2.0 specifications. Starter examples below are synthetic. They are not downloaded records.

CityJSON Extracts geographicalExtent and attributes like owner and measuredHeight from Building and LandUse CityObjects.

semantic-kernel, shapely, fastapi. Semantic Kernel orchestrates procedural geospatial plugin calculations with LLM-generated municipal citation notices. Hosted reasoning model supporting function calling to trigger boundary intersection checks and report generation.

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.

Calculates minimum setback distance accurately across polygon boundaries.

Correctly identifies encroachments within millimeter precision of transformed vertices.

Formats zoning infraction notices containing parcel ID, owner, and distance breach.

```json [ { "input": { "parcel_id": "PARCEL-884-A", "zoning_rule": { "min_setback_meters": 3 }, "parcel_polygon": [ [ 0, 0 ], [ 50, 0 ], [ 50, 50 ], [ 0, 50 ] ], "building_id": "BLDG-902", "building_footprint": [ [ 1.5, 5 ], [ 25, 5 ], [ 25, 25 ], [ 1.5, 25 ] ], "owner": "Oakwood Properties" }, "expected_output": { "parcel_id": "PARCEL-884-A", "building_id": "BLDG-902", "min_measured_setback_meters": 1.5, "setback_required_meters": 3, "encroachment_detected": true, "infraction_level": "Major", "notice_summary": "Building BLDG-902 breaches the western setback by 1.5 meters on parcel PARCEL-884-A." } }, { "input": { "parcel_id": "PARCEL-102-B", "zoning_rule": { "min_setback_meters": 2.5 }, "parcel_polygon": [ [ 0, 0 ], [ 30, 0 ], [ 30, 30 ], [ 0, 30 ] ], "building_id": "BLDG-105", "building_footprint": [ [ 5, 5 ], [ 20, 5 ], [ 20, 20 ], [ 5, 20 ] ], "owner": "Jane Smith" }, "expected_output": { "parcel_id": "PARCEL-102-B", "building_id": "BLDG-105", "min_measured_setback_meters": 5, "setback_required_meters": 2.5, "encroachment_detected": false, "infraction_level": "None", "notice_summary": "All building boundaries comply with minimum municipal setback limits." } } ] ```

Municipal infraction notices are simulated drafts. Actual legal citations require survey confirmation and human clerk approval. Use mock external writes. Require human review before any real deployment.

Rules

Participation guide

Municipal infraction notices are simulated drafts. Actual legal citations require survey confirmation and human clerk approval. Use mock external writes and human review.

Delivery guide

How work is evaluated

Evaluation

Calculates minimum setback distance accurately across polygon boundaries. Correctly identifies encroachments within millimeter precision of transformed vertices. Formats zoning infraction notices containing parcel ID, owner, and distance breach.

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

Upload a municipal CityJSON parcel file containing Building and LandUse entities. Calculate Euclidean distances between building boundary vertices and cadastral parcel edges. Flag structural geometry exceeding legal zoning setback tolerances. Generate an infraction report with spatial coordinates and parcel owner details.

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

Calculates minimum setback distance accurately across polygon boundaries. Correctly identifies encroachments within millimeter precision of transformed vertices. Formats zoning infraction notices containing parcel ID, owner, and distance breach.

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

Cadastral map viewer displaying property boundary overlays, encroachment polygons, and zoning citation generation tools.

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

Municipal infraction notices are simulated drafts. Actual legal citations require survey confirmation and human clerk approval.

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

  • Upload a municipal CityJSON parcel file containing Building and LandUse entities.

  • Calculate Euclidean distances between building boundary vertices and cadastral parcel edges.

  • Flag structural geometry exceeding legal zoning setback tolerances.

  • Generate an infraction report with spatial coordinates and parcel owner details.

Resources and assets

Reference links and supporting material

Dataset notes

Use open cadastral 3D city data from municipal open-data portals formatted under CityJSON 2.0 specifications. Supplied starter examples are synthetic, not source extracts.

Challenge setup

Configuration summary for this challenge.

Challenge input

Input details are not configured.

Semantic Kernel

Agent Systems · Agent Frameworks

Evaluated output

No output checks are configured.

Evaluation checks
  • Upload a municipal CityJSON parcel file containing Building and LandUse entities. Calculate Euclidean dista...
  • Calculates minimum setback distance accurately across polygon boundaries. Correctly identifies encroachment...
  • Cadastral map viewer displaying property boundary overlays, encroachment polygons, and zoning citation gene...
Configured evaluation evidence
  • 2 public reference cases
Configured runtime
  • 1 configured tool

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
  • Semantic Kernel · 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 Municipal Cadastral Boundary Encroachment Detector