Io 3dbag Cityjson
Real-geometry 3DBAG slice stored as a single monolithic CityJSON file. Baseline for sequential I/O, parser throughput, and whole-document memory behavior.
Case
id:io_3dbag_cityjsonlayer:workloadfamily:ioartifact_mode:acquiredsource_kind:real-geometryrepresentation:cityjsonpath:cases/workloads/io_3dbag_cityjson
Files
acquisition:cases/workloads/io_3dbag_cityjson/acquisition.json
Source JSON
case.json
{
"artifact_mode": "acquired",
"artifact_paths": {
"acquisition": "cases/workloads/io_3dbag_cityjson/acquisition.json"
},
"assertions": [
"object_count_preserved",
"bbox_stable"
],
"cityjson_version": "2.0",
"description": "Real-geometry 3DBAG slice stored as a single monolithic CityJSON file. Baseline for sequential I/O, parser throughput, and whole-document memory behavior.",
"family": "io",
"geometry_kind": "real-preserved",
"id": "io_3dbag_cityjson",
"layer": "workload",
"representation": "cityjson",
"source_kind": "real-geometry",
"version": 2
}
invariants.json
{
"checks": [
{
"description": "The number of objects remains stable on parse and serialize.",
"id": "object_count_preserved"
},
{
"description": "The bounding box remains stable across the I/O path.",
"id": "bbox_stable"
}
],
"id": "io_3dbag_cityjson",
"kind": "positive",
"version": 1
}
acquisition.json
{
"dataset": "3DBAG",
"id": "io_3dbag_cityjson",
"license": "Use the upstream 3DBAG license terms until the corpus release metadata is published.",
"notes": "Monolithic real-geometry 3DBAG case stored as a whole CityJSON file. It is acquired by the shared corpus repo and consumed directly by downstream benchmarks.",
"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"
},
{
"byte_size": null,
"checksum": null,
"derivation": "exported",
"derived_from": [
"artifacts/acquired/3dbag/v20250903/10-758-50.city.json"
],
"path": "artifacts/acquired/3dbag/v20250903/10-758-50.cjarrow",
"producer": "cityjson-lib",
"published": true,
"representation": "cityjson-arrow",
"validation_role": "benchmark-only"
},
{
"byte_size": null,
"checksum": null,
"derivation": "exported",
"derived_from": [
"artifacts/acquired/3dbag/v20250903/10-758-50.city.json"
],
"path": "artifacts/acquired/3dbag/v20250903/10-758-50.cjparquet",
"producer": "cityjson-lib",
"published": true,
"representation": "cityjson-parquet",
"validation_role": "benchmark-only"
}
],
"owner": "cjindex",
"preprocessing": [
"Run the shared 3DBAG acquisition script in cityjson-corpus.",
"Reuse the published raw CityJSON file for JSON read and write benchmarking.",
"Export a sibling live cityjson-arrow stream file for Arrow-to-memory and memory-to-Arrow benchmarking.",
"Export a sibling cityjson-parquet package file for package-to-memory and memory-to-package benchmarking."
],
"reference": "Use `just acquire-3dbag` in cityjson-corpus to materialize the raw slice and native cityjson-arrow/cityjson-parquet artifacts.",
"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
}