Build an Urban CityJSON Solar Retrofit Evaluator
Analyze municipal 3D city models in CityJSON format to estimate rooftop surface areas. Formulate retrofit photovoltaic panel capacity proposals for commercial district revitalization.
What you are building
The core problem, expected build, and operating context for this challenge.
Analyze municipal 3D city models in CityJSON format to estimate rooftop surface areas. Formulate retrofit photovoltaic panel capacity proposals for commercial district revitalization.
Urban Decarbonization Planner
Load a CityJSON district model containing building geometries and height attributes.
Decompress transformed coordinates and identify horizontal or tilted roof surfaces.
Compute potential solar collector area while subtracting roof installations.
Generate a structured retrofit solar layout proposal with estimated annual generation.
Interactive GIS portal featuring 3D building outlines, solar suitability color maps, and printable retrofit briefs.
Utilize open municipal CityJSON 2.0 public dataset downloads from the official CityJSON community samples repository. Starter examples below are synthetic. They are not downloaded records.
CityJSON Extracts CityObjects of type Building, BuildingPart, and BuildingInstallation along with transform matrix and vertices array.
langgraph, fastapi, shapely. LangGraph manages stateful multi-step execution across spatial geometry decompression, surface filtering, and solar potential computation. Standard reasoning API model capable of evaluating urban rooftop geometry and municipal planning rules.
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.
Correctly unpacks integer coordinates using CityJSON transform scale and translation vectors.
Excludes children BuildingInstallation footprints from net available roof area.
Produces valid kilowatt-hour solar generation estimates in a structured JSON payload.
```json [ { "input": { "city_object_id": "bldg_comm_12", "type": "Building", "transform": { "scale": [ 0.001, 0.001, 0.001 ], "translate": [ 100000, 200000, 0 ] }, "attributes": { "roofType": "flat", "measuredHeight": 18.5 }, "roof_vertices": [ [ 0, 0, 18500 ], [ 20000, 0, 18500 ], [ 20000, 15000, 18500 ], [ 0, 15000, 18500 ] ], "children": [ "chiller_unit_1" ] }, "expected_output": { "city_object_id": "bldg_comm_12", "gross_roof_area_m2": 300, "deducted_installation_area_m2": 24, "net_solar_area_m2": 276, "recommended_capacity_kw": 41.4, "retrofit_viable": true } }, { "input": { "city_object_id": "bldg_shed_04", "type": "Building", "transform": { "scale": [ 0.001, 0.001, 0.001 ], "translate": [ 100000, 200000, 0 ] }, "attributes": { "roofType": "complex_steep", "measuredHeight": 4 }, "roof_vertices": [ [ 0, 0, 4000 ], [ 3000, 0, 6000 ], [ 3000, 3000, 6000 ], [ 0, 3000, 4000 ] ], "children": [] }, "expected_output": { "city_object_id": "bldg_shed_04", "gross_roof_area_m2": 10.8, "deducted_installation_area_m2": 0, "net_solar_area_m2": 10.8, "recommended_capacity_kw": 0, "retrofit_viable": false } } ] ```
Solar retrofit estimates are preliminary planning calculations. External structural load checks must be verified by a licensed engineer. Use mock external writes. Require human review before any real deployment.
Participation guide
Solar retrofit estimates are preliminary planning calculations. External structural load checks must be verified by a licensed engineer. Use mock external writes and human review.
How work is evaluated
Correctly unpacks integer coordinates using CityJSON transform scale and translation vectors. Excludes children BuildingInstallation footprints from net available roof area. Produces valid kilowatt-hour solar generation estimates in a structured JSON payload.
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
Load a CityJSON district model containing building geometries and height attributes. Decompress transformed coordinates and identify horizontal or tilted roof surfaces. Compute potential solar collector area while subtracting roof installations. Generate a structured retrofit solar layout proposal with estimated annual generation.
Missing or incorrect.
Partly complete, with documented gaps.
Complete, with reproducible evidence.
Correctness and evidence
Correctly unpacks integer coordinates using CityJSON transform scale and translation vectors. Excludes children BuildingInstallation footprints from net available roof area. Produces valid kilowatt-hour solar generation estimates in a structured JSON payload.
Missing or incorrect.
Partly complete, with documented gaps.
Complete, with reproducible evidence.
Review interface
Interactive GIS portal featuring 3D building outlines, solar suitability color maps, and printable retrofit briefs.
Missing or incorrect.
Partly complete, with documented gaps.
Complete, with reproducible evidence.
Safe execution
Solar retrofit estimates are preliminary planning calculations. External structural load checks must be verified by a licensed engineer.
This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.
What you should walk away with
Load a CityJSON district model containing building geometries and height attributes.
Decompress transformed coordinates and identify horizontal or tilted roof surfaces.
Compute potential solar collector area while subtracting roof installations.
Generate a structured retrofit solar layout proposal with estimated annual generation.
Reference links and supporting material
Utilize open municipal CityJSON 2.0 public dataset downloads from the official CityJSON community samples repository. Supplied starter examples are synthetic, not source extracts.
Challenge setup
Configuration summary for this challenge.
Challenge input
Input details are not configured.
LangGraph
Runtime for stateful agent workflows.
Evaluated output
No output checks are configured.
- Load a CityJSON district model containing building geometries and height attributes. Decompress transformed...
- Correctly unpacks integer coordinates using CityJSON transform scale and translation vectors. Excludes chil...
- Interactive GIS portal featuring 3D building outlines, solar suitability color maps, and printable retrofit...
- 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
- LangGraph · Optional
- LangGraph · 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.