| Crates.io | cjseq |
| lib.rs | cjseq |
| version | 0.4.1 |
| created_at | 2024-02-07 11:05:31.890346+00 |
| updated_at | 2025-09-12 15:42:11.588629+00 |
| description | Create+process+modify+convert CityJSONSeq |
| homepage | https://github.com/cityjson/cjseq |
| repository | https://github.com/cityjson/cjseq |
| max_upload_size | |
| id | 1130405 |
| size | 127,417 |
cjseq is a Rust libray+binary for creating, processing, and modifying CityJSONSeq files, as well as converting to/from CityJSON.
cargo install cjseqcjseq is installed system-widecargo install cjseqgit clone https://github.com/cityjson/cjseq.gitcargo build --release./target/release/cjseq --helpcjseq takes input from either a file or the standard input (stdin, if no file path is given as argument), and it always outputs the results to the standard output (stdout).
The output can be a CityJSON object or a CityJSONSeq stream.
The operator "cat" converts a CityJSON file to a CityJSONSeq stream:
cjseq cat myfile.city.json > myfile.city.jsonl
Alternatively, to use stdin as input:
cat myfile.city.json | cjseq cat
The operator "collect" converts a CityJSONSeq stream to a CityJSON file:
cat ./data/3dbag_b2.city.jsonl | cjseq collect > 3dbag_b2.city.json
cjseq collect ./data/3dbag_b2.city.jsonl > 3dbag_b2.city.json
Notice that globbing works for the collect command:
cat ./data/*.city.jsonl | cjseq collect > hugefile.city.json
An input stream of CityJSONSeq can be filtered with the following operators:
--bbox <minx> <miny> <maxx> <maxy>
Bounding box filter
--cotype <COTYPE>
Keep only the CityObjects of this type
--exclude
Excludes the selection, thus remove the selected city object(s)
--radius <x> <y> <radius>
Circle filter: centre + radius
--random <X>
1/X chances of a given feature being kept
As an example:
cat myfile.city.jsonl | cjseq filter --bbox 85007 446179 85168 446290 > mysubset.city.jsonl
cjseq can be used in JavaScript/TypeScript applications via WASM bindings.
cargo install wasm-pack
Build the WASM bindings:
wasm-pack build --release --target web --out-dir js