Skip to main content

Crate stt_core

Crate stt_core 

Source
Expand description

Core library for the SpatioTemporal Tiles (STT) format.

The canonical container is the packed format (pack): a per-dataset manifest.json plus many content-addressed, immutable pack objects (packs/<blake3>.sttp) and one directory object (index/<blake3>.sttd). Splitting a dataset into small, immutable objects is what makes it edge-cacheable on a plain CDN — see docs/spec/stt-packed-format.md.

Building blocks:

The single-file archive container (ArchiveWriter / ArchiveReader) predates the packed format and is no longer a deployment target. It survives only as (a) the bounded-RAM streaming intermediate that stt-build --streaming-arrow transcodes into packs, and (b) the read side that transcode_archive_to_packs consumes when migrating old archives.

Re-exports§

pub use pack::repack_directory;
pub use pack::transcode_archive_to_packs;
pub use pack::transcode_archive_to_packs_paged;
pub use pack::transcode_archive_to_packs_paged_level;
pub use pack::transcode_packs_to_packs_paged_level;
pub use pack::verify_packed_objects;
pub use pack::Manifest;
pub use pack::PackWriter;
pub use pack::PackedReader;
pub use directory_page::decode_paged_directory;
pub use directory_page::encode_paged_directory;
pub use directory_page::verify_paged_structure;
pub use directory_page::PageDescriptor;
pub use directory_page::PagedRoot;
pub use directory_page::DEFAULT_PAGE_ENTRIES;
pub use archive::Archive;
pub use archive::ArchiveReader;
pub use archive::ArchiveWriter;
pub use curve::BlobOrdering;
pub use error::Error;
pub use error::Result;
pub use tile::TileId;
pub use timestamp::normalize_timestamp_to_ms;
pub use timestamp::reject_negative_timestamp;
pub use timestamp::scale_timestamp_to_ms;
pub use timestamp::TimestampUnit;
pub use types::BoundingBox;
pub use types::TimeRange;

Modules§

archive
STT archive format — a single-file, range-request-friendly container.
arrow_tile
Arrow-based tile payload format.
budget
Tile size budget enforcement and intelligent feature dropping
compression
Compression utilities for tiles. The format is zstd-only — there is no gzip path (it was never shipped; zstd beats it on both ratio and browser decode). Compression::None exists only for already-incompressible blobs.
curve
Space-time blob ordering for the v4 writer.
directory
STT v5 directory — a compact, range-request-friendly tile index.
directory_page
Paged-directory container (Wave 2 — COPC/GeoParquet-1.1 steal).
error
Error types for the STT library
geometry
Geometry processing utilities
metadata
Archive metadata structures
pack
STT packed format — a multi-object, edge-cacheable container.
projection
Coordinate projection utilities
tile
Tile types and operations
timestamp
Shared timestamp-unit normalization for all STT input adaptors.
types
Core types used throughout the STT library