Skip to content

Independent Use

You can use this corpus without using the current CityJSON tools. The repo gives you the files, the metadata, and the expected behavior.

Reusable Parts

  • catalog/cases.json: full case index.
  • artifacts/correctness-index.json: correctness cases.
  • artifacts/benchmark-index.json: workload artifacts.
  • schemas/: metadata contract.
  • cases/ and artifacts/: the actual files.

Typical Uses

  • a new parser or validator in another language;
  • a database import pipeline;
  • a viewer or tiling service;
  • a converter between CityJSON and another format;
  • a QA tool that checks acceptance and rejection behavior;
  • a benchmark harness that wants realistic and synthetic workload inputs.

Integration Flow

Use this flow:

  1. Read catalog/cases.json to discover the available cases.
  2. Pick the layer you need:
  3. correctness work: conformance, invalid, operation;
  4. performance work: workload.
  5. Read each case's artifact_mode and artifact_paths.
  6. Materialize the needed files:
  7. checked-in files are already in the repo;
  8. generated files come from just generate-data;
  9. acquired files come from the acquisition commands.
  10. Read invariants.json to understand the expected behavior.

Limits

  • Some acquired artifacts have upstream licenses. Check acquisition.json before redistributing them.
  • Some generated cases need local tool dependencies to materialize their files.
  • Benchmark-only derived artifacts are useful for performance work, but they are not the canonical correctness input for the same case.

Next Pages