Crate versatiles_core

Crate versatiles_core 

Source
Expand description

VersaTiles Core Library

This crate provides the core types, utilities, and I/O abstractions for working with map tiles in the VersaTiles ecosystem.

§Main Components

  • types: Core types including tile coordinates (TileCoord), bounding boxes (TileBBox, GeoBBox), formats (TileFormat), compression (TileCompression), and binary data handling (Blob).

  • io: I/O abstractions for reading and writing tile data from various sources (files, HTTP, memory) with support for value serialization in different byte orders.

  • json: JSON parsing, stringification, and NDJSON (newline-delimited JSON) support with custom types (JsonValue, JsonArray, JsonObject).

  • utils: Utility modules for compression, CSV parsing, spatial indexing (Hilbert curves), and pretty-printing.

  • concurrency: Concurrency limit tuning for optimal I/O and CPU performance (ConcurrencyLimits).

§Examples

use versatiles_core::{TileCoord, TileBBox, Blob, TileFormat};

// Create a tile coordinate
let coord = TileCoord::new(5, 10, 15).unwrap();
println!("Tile: {:?}", coord);

// Create a bounding box
let bbox = TileBBox::new_full(5).unwrap();
println!("BBox covers {} tiles", bbox.count_tiles());

// Work with binary data
let data = Blob::from("Hello, tiles!");
assert_eq!(data.len(), 13);

Re-exports§

pub use concurrency::*;
pub use types::*;

Modules§

byte_iterator
This module provides utilities for byte-level iteration and related functionality. It re-exports the basics and iterator modules for use in parsing or reading byte streams.
concurrency
Concurrency limit tuning for optimal I/O and CPU performance
io
This module re-exports all the data reader and writer modules, along with the value reader and writer modules.
json
JSON parsing, serialization, and NDJSON utilities
macros
Testing and assertion macros
types
Core types for working with map tiles
utils
This module provides general-purpose utility modules for common functionality across the codebase. It includes:

Macros§

assert_wildcard
Asserts that the string representation of an expression matches a given wildcard pattern.