Skip to content

Ops 3dbag Enriched

Real 3DBAG geometry enriched with synthetic attributes. Targets object-graph traversal, attribute lookup, and roundtrip stability on a mixed geometry-plus-metadata payload.

Case

  • id: ops_3dbag_enriched
  • layer: operation
  • family: operation_kernel
  • artifact_mode: acquired
  • source_kind: real-geometry-enriched
  • representation: cityjson
  • path: cases/operations/ops_3dbag_enriched

Files

  • acquisition: cases/operations/ops_3dbag_enriched/acquisition.json

Source JSON

case.json

{
  "artifact_mode": "acquired",
  "artifact_paths": {
    "acquisition": "cases/operations/ops_3dbag_enriched/acquisition.json"
  },
  "assertions": [
    "attribute_payload_preserved",
    "geometry_preserved"
  ],
  "cityjson_version": "2.0",
  "description": "Real 3DBAG geometry enriched with synthetic attributes. Targets object-graph traversal, attribute lookup, and roundtrip stability on a mixed geometry-plus-metadata payload.",
  "family": "operation_kernel",
  "geometry_kind": "real-preserved",
  "id": "ops_3dbag_enriched",
  "layer": "operation",
  "representation": "cityjson",
  "source_kind": "real-geometry-enriched",
  "version": 2
}

invariants.json

{
  "checks": [
    {
      "description": "Synthetic attribute payloads survive the operation kernel.",
      "id": "attribute_payload_preserved"
    },
    {
      "description": "Geometry stays intact while enrichment is processed.",
      "id": "geometry_preserved"
    }
  ],
  "id": "ops_3dbag_enriched",
  "kind": "positive",
  "version": 1
}

acquisition.json

{
  "dataset": "3DBAG",
  "id": "ops_3dbag_enriched",
  "license": "Use the upstream 3DBAG license terms until the corpus release metadata is published.",
  "notes": "Real 3DBAG geometry enriched with synthetic non-geometric data so object-graph traversal, attribute lookup, and roundtrip stability can be measured on a mixed payload. It reuses the published raw 3DBAG CityJSON slice.",
  "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.",
    "Apply the synthetic enrichment step after preparing the base 3DBAG slice."
  ],
  "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
}