Ops 3dbag
Compact real-geometry 3DBAG Building hierarchy with attributes, multiple LoDs, and semantic surfaces. Targets common object-model operations without requiring the full workload tile.
Case
id:ops_3dbaglayer:operationfamily:operation_kernelartifact_mode:acquiredsource_kind:real-geometryrepresentation:cityjsonpath:cases/operations/ops_3dbag
Files
acquisition:cases/operations/ops_3dbag/acquisition.json
Source JSON
case.json
{
"artifact_mode": "acquired",
"artifact_paths": {
"acquisition": "cases/operations/ops_3dbag/acquisition.json"
},
"assertions": [
"bounding_box_stable",
"hierarchy_traversal_complete",
"attribute_payload_preserved",
"geometry_preserved",
"semantic_surfaces_preserved",
"boundary_to_semantics_mapping_stable"
],
"cityjson_version": "2.0",
"description": "Compact real-geometry 3DBAG Building hierarchy with attributes, multiple LoDs, and semantic surfaces. Targets common object-model operations without requiring the full workload tile.",
"family": "operation_kernel",
"geometry_kind": "real-preserved",
"id": "ops_3dbag",
"layer": "operation",
"representation": "cityjson",
"source_kind": "real-geometry",
"version": 2
}
invariants.json
{
"checks": [
{
"description": "Bounding-box results remain stable across traversal.",
"id": "bounding_box_stable"
},
{
"description": "Hierarchy traversal visits the full reachable object graph.",
"id": "hierarchy_traversal_complete"
},
{
"description": "Attribute payloads survive the operation kernel.",
"id": "attribute_payload_preserved"
},
{
"description": "Geometry stays intact while object-model operations are processed.",
"id": "geometry_preserved"
},
{
"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",
"kind": "positive",
"version": 1
}
acquisition.json
{
"dataset": "3DBAG",
"id": "ops_3dbag",
"license": "Use the upstream 3DBAG license terms until the corpus release metadata is published.",
"notes": "Compact real-geometry 3DBAG hierarchy for common object-model operations. The shared acquisition script deterministically subsets one Building and its BuildingPart from the published raw tile.",
"outputs": [
{
"byte_size": null,
"checksum": null,
"derivation": "subset",
"derived_from": [
"artifacts/acquired/3dbag/v20250903/10-758-50.city.json"
],
"path": "artifacts/acquired/3dbag/v20250903/ops_3dbag.city.json",
"producer": "cjio",
"published": true,
"representation": "cityjson",
"validation_role": "canonical"
}
],
"owner": "cjindex",
"preprocessing": [
"Run the shared 3DBAG acquisition script in cityjson-corpus.",
"Subset Building NL.IMBAG.Pand.0928100000037540 and its hierarchy from the published raw CityJSON tile with cjio."
],
"reference": "Use `just acquire-3dbag` in cityjson-corpus to materialize the compact operation fixture.",
"selector": "Pinned 3DBAG Building hierarchy rooted at NL.IMBAG.Pand.0928100000037540.",
"status": "published",
"upstream_url": "https://data.3dbag.nl/v20250903/",
"upstream_version": "2025.09.03",
"version": 2
}