ticj is a lightweight browser tool for selecting CityJSON inputs for CJLoupe.
It supports two source types:
- FlatCityBuf
.fcbfiles: reads the header and packed R-tree leaf nodes, renders a quadtree overlay, and builds CJLoupe URLs with compact feature byte ranges. - FlatGeobuf
.fgbtile indexes: reads tile polygons withtile_id,filepath, bounds, andfeature_count, then opens the selected tile filepath or selected tile filepaths in CJLoupe.
For remote FlatGeobuf indexes, relative filepath values are resolved against the parent URL of the .fgb file.
bun install
bun run devThen open the URL printed by Vite.
With Nix:
nix develop
bun install
bun run devYou can also run the flake apps directly:
nix run .#dev
nix run .#buildYou can load remote FCB or FGB tile index URLs. Remote FCB files must support CORS and HTTP Range requests. Remote FGB tile indexes must support CORS.
To load an index on startup, pass it as a URL parameter:
https://example.com/ticj/?index=https%3A%2F%2Fexample.com%2Ftile_index.fgb
bun run index:tiles -- ./seq ./tile_index.fgb --overwriteWith Nix:
nix run . -- ./seq ./tile_index.fgb --overwriteThe indexer is a Node.js script that uses the existing flatgeobuf package, so it does not require GDAL/OGR.