Io 3dbag Cityjson Cluster 4x
Real-geometry 3DBAG workload built from four merged contiguous tiles. Extends the single-tile io_3dbag_cityjson baseline to a larger whole-document input for memory and throughput comparisons.
Case
id:io_3dbag_cityjson_cluster_4xlayer:workloadfamily:ioartifact_mode:acquiredsource_kind:real-geometryrepresentation:cityjsonpath:cases/workloads/io_3dbag_cityjson_cluster_4x
Files
acquisition:cases/workloads/io_3dbag_cityjson_cluster_4x/acquisition.json
Source JSON
case.json
{
"artifact_mode": "acquired",
"artifact_paths": {
"acquisition": "cases/workloads/io_3dbag_cityjson_cluster_4x/acquisition.json"
},
"assertions": [
"object_count_preserved",
"bbox_stable"
],
"cityjson_version": "2.0",
"description": "Real-geometry 3DBAG workload built from four merged contiguous tiles. Extends the single-tile io_3dbag_cityjson baseline to a larger whole-document input for memory and throughput comparisons.",
"family": "io",
"geometry_kind": "real-preserved",
"id": "io_3dbag_cityjson_cluster_4x",
"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_cluster_4x",
"kind": "positive",
"version": 1
}
acquisition.json
{
"dataset": "3DBAG",
"id": "io_3dbag_cityjson_cluster_4x",
"license": "Use the upstream 3DBAG license terms until the corpus release metadata is published.",
"notes": "Merged real-geometry 3DBAG workload built from four contiguous tiles in the published v20250903 release. It extends the monolithic CityJSON workload to a larger, still realistic memory and cache stress case.",
"outputs": [
{
"byte_size": null,
"checksum": null,
"derivation": "merged",
"derived_from": [
"artifacts/acquired/3dbag/v20250903/10-758-50.city.json",
"artifacts/acquired/3dbag/v20250903/10-756-48.city.json",
"artifacts/acquired/3dbag/v20250903/10-756-50.city.json",
"artifacts/acquired/3dbag/v20250903/10-758-48.city.json"
],
"path": "artifacts/acquired/3dbag/v20250903/cluster_4x.city.json",
"producer": "cjio",
"published": true,
"representation": "cityjson",
"validation_role": "benchmark-only"
},
{
"byte_size": null,
"checksum": null,
"derivation": "exported",
"derived_from": [
"artifacts/acquired/3dbag/v20250903/cluster_4x.city.json"
],
"path": "artifacts/acquired/3dbag/v20250903/cluster_4x.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/cluster_4x.city.json"
],
"path": "artifacts/acquired/3dbag/v20250903/cluster_4x.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.",
"Download the pinned 2x2 tile cluster around the base tile.",
"Merge the four real CityJSON tiles with cjio and publish the merged workload artifact.",
"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 tiles, merged stress case, and native cityjson-arrow/cityjson-parquet artifacts.",
"selector": "Pinned v20250903 tiles: 10-758-50, 10-756-48, 10-756-50, and 10-758-48.",
"status": "published",
"upstream_url": "https://data.3dbag.nl/v20250903/",
"upstream_version": "2025.09.03",
"version": 2
}