Skip to main content

Crate fcb_cli

Crate fcb_cli 

Source
Expand description

Support library for fcb, the FlatCityBuf command-line tool.

The binary itself lives in src/main.rs; installing this crate gives you fcb, which converts between CityJSON / CityJSONSeq and .fcb:

fcb ser     city.jsonl city.fcb   # CityJSONSeq -> .fcb  (-A indexes every
                                  # attribute, -g writes the extent)
fcb deser   city.fcb   city.jsonl # .fcb -> CityJSONSeq
fcb inspect city.fcb              # terminal UI, or a static header report
                                  # when stdout is not a TTY (--static
                                  # forces it)
fcb cbor    city.json  city.cbor  # CityJSON -> CBOR (size comparison)
fcb bson    city.json  city.bson  # CityJSON -> BSON (size comparison)

Input and output are positional. ser takes any number of inputs before the output, so fcb ser a.jsonl b.jsonl merged.fcb merges as it converts.

The modules below are pub so the integration tests can drive them directly; they are not a stable API. All the format work happens in fcb_core.

fcb ser is what produces the oracle files the C++, Python and TypeScript readers are validated against, so its output is load-bearing for the whole repository.

Modules§

inspect
Interactive terminal UI for inspecting an FCB dataset header.
merger
Merger module for combining multiple CityJSON/CityJSONSeq files
reader
Reader module for CityJSON and CityJSONSeq file reading

Enums§

CliError
CLI-specific error type