Crate fcb_core

Crate fcb_core 

Source
Expand description

§FlatCityBuf Core Library

A high-performance Rust library for encoding and decoding CityJSON data to the FlatCityBuf (FCB) binary format. FCB uses FlatBuffers for efficient serialization with support for spatial and attribute indexing.

§Attribution

Portions of this software are derived from FlatGeobuf

Specifically, the following components contain code derived from FlatGeobuf:

  • Spatial indexing algorithms (packed R-tree implementation)
  • HTTP range request handling (for Rust native part)
  • Binary format design patterns

We extend our gratitude to the FlatGeobuf team for their excellent work on efficient geospatial binary formats, which provided the foundation for FlatCityBuf’s spatial indexing and serialization architecture.

§License

This project is licensed under the MIT License. FlatGeobuf portions remain under their original BSD 2-Clause License.

Re-exports§

pub use error::Error;
pub use packed_rtree::NodeItem;
pub use packed_rtree::PackedRTree;
pub use packed_rtree::Query as SpatialQuery;
pub use packed_rtree::SearchResultItem;
pub use static_btree::Entry;
pub use static_btree::FixedStringKey;
pub use static_btree::Key;
pub use static_btree::KeyType;
pub use static_btree::MemoryIndex;
pub use static_btree::MemoryMultiIndex;
pub use static_btree::MultiIndex;
pub use static_btree::Operator;
pub use static_btree::Query;
pub use static_btree::QueryCondition;
pub use static_btree::StreamIndex;
pub use static_btree::StreamMultiIndex;
pub use fb::*;
pub use http_reader::*;

Modules§

attribute
city_buffer
deserializer
error
fb
feature_writer
geom_decoder
geom_encoder
header_writer
http_reader
HTTP reader for FlatCityBuf files
packed_rtree
Create and read a packed Hilbert R-Tree to enable fast bounding box spatial filtering.
serializer
static_btree

Structs§

CityJSONSeq
FcbReader
FcbWriter
Main writer for FlatCityBuf (FCB) format
FeatureIter
Float
A wrapper around floats providing implementations of Eq, Ord, and Hash.
Meta
MetaColumn

Enums§

CJType
CJTypeKind
MetaColumnType

Constants§

HEADER_MAX_BUFFER_SIZE
HEADER_SIZE_SIZE
MAGIC_BYTES
MAGIC_BYTES_SIZE
VERSION

Traits§

CityJSONReader

Functions§

add_indices_to_multi_memory_index
add_indices_to_multi_stream_index
build_query
check_magic_bytes
read_cityjson
Read CityJSON from a file path
read_cityjson_from_reader
Read CityJSON from any reader (file or stdin)

Type Aliases§

AttrQuery