Expand description
§mbtiles
A library to help tile servers like Martin work with MBTiles files. When using as a lib, you may want to disable default features (i.e. the unused “cli” feature).
This crate also has a small utility that allows users to interact with the *.mbtiles
files from the command line. See tools documentation for more information.
§Development
Any changes to SQL commands require running of just prepare-sqlite
. This will install cargo sqlx
command if it is not already installed, and update the ./sqlx-data.json
file.
§License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT) at your option.
§Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Re-exports§
pub use sqlx;
Structs§
Enums§
Constants§
- Metadata key for the aggregate tiles hash value
- Metadata key for a diff file, describing the eventual
AGG_TILES_HASH
value of the resulting tileset once the diff is applied - Metadata key for a diff file, describing the expected
AGG_TILES_HASH
value of the tileset to which the diff will be applied.
Functions§
- Compute the hash of the combined tiles in the mbtiles file tiles table/view. This should work on all mbtiles files perf
MBTiles
specification. - Compute min and max zoom levels from the
tiles
table - Execute
DETACH DATABASE
command - Check if
MBTiles
has a table or a view namedbsdiffraw
orbsdiffrawgz
with needed fields, and return the corresponding patch type. If missing, returnPatchType::Whole
- Check if
MBTiles
has a table or a view namedtiles_with_hash
with needed fields MBTiles
uses a TMS (Tile Map Service) scheme for its tile coordinates (inverted along the Y axis). This function converts Y value between TMS tile coordinate to an XYZ tile coordinate.- Returns true if the database is empty (no tables/indexes/…)