Ops 3dbag Semantic Surfaces
Real-geometry 3DBAG case with roof, wall, and ground semantic surfaces. Targets surface traversal, boundary-to-semantics mapping, and semantic-aware roundtrips.
Case
id:ops_3dbag_semantic_surfaceslayer:operationfamily:operation_kernelartifact_mode:acquiredsource_kind:real-geometryrepresentation:cityjsonpath:cases/operations/ops_3dbag_semantic_surfaces
Files
acquisition:cases/operations/ops_3dbag_semantic_surfaces/acquisition.json
Source JSON
case.json
{
"artifact_mode": "acquired",
"artifact_paths": {
"acquisition": "cases/operations/ops_3dbag_semantic_surfaces/acquisition.json"
},
"assertions": [
"semantic_surfaces_preserved",
"boundary_to_semantics_mapping_stable"
],
"cityjson_version": "2.0",
"description": "Real-geometry 3DBAG case with roof, wall, and ground semantic surfaces. Targets surface traversal, boundary-to-semantics mapping, and semantic-aware roundtrips.",
"family": "operation_kernel",
"geometry_kind": "real-preserved",
"id": "ops_3dbag_semantic_surfaces",
"layer": "operation",
"representation": "cityjson",
"source_kind": "real-geometry",
"version": 2
}
invariants.json
{
"checks": [
{
"description": "Semantic surfaces remain attached to their geometry.",
"id": "semantic_surfaces_preserved"
},
{
"description": "Boundary-to-semantics mapping remains stable.",
"id": "boundary_to_semantics_mapping_stable"
}
],
"id": "ops_3dbag_semantic_surfaces",
"kind": "positive",
"version": 1
}
acquisition.json
{
"dataset": "3DBAG",
"id": "ops_3dbag_semantic_surfaces",
"license": "Use the upstream 3DBAG license terms until the corpus release metadata is published.",
"notes": "Real-geometry 3DBAG case with stable semantic surfaces such as roof, wall, and ground. It reuses the published raw 3DBAG CityJSON slice acquired by the shared corpus repo.",
"outputs": [
{
"byte_size": null,
"checksum": null,
"derivation": "acquired",
"path": "artifacts/acquired/3dbag/v20250903/10-758-50.city.json",
"producer": "upstream",
"published": true,
"representation": "cityjson",
"validation_role": "canonical"
}
],
"owner": "cjindex",
"preprocessing": [
"Run the shared 3DBAG acquisition script in cityjson-corpus.",
"Reuse the published raw CityJSON file for object-model benchmarking."
],
"reference": "Use `just acquire-3dbag` in cityjson-corpus to materialize the raw slice.",
"selector": "Pinned 3DBAG release metadata is captured by the shared acquisition script.",
"status": "published",
"upstream_url": "https://data.3dbag.nl/v20250903/",
"upstream_version": "2025.09.03",
"version": 2
}