2023-06-04 07:56:20 +03:00
# martin-mbtiles
[![Book ](https://img.shields.io/badge/docs-Book-informational )](https://maplibre.org/martin/tools.html)
[![docs.rs docs ](https://docs.rs/martin-mbtiles/badge.svg )](https://docs.rs/martin-mbtiles)
[![Slack chat ](https://img.shields.io/badge/Chat-on%20Slack-blueviolet )](https://slack.openstreetmap.us/)
[![GitHub ](https://img.shields.io/badge/github-maplibre/martin-8da0cb?logo=github )](https://github.com/maplibre/martin)
[![crates.io version ](https://img.shields.io/crates/v/martin-mbtiles.svg )](https://crates.io/crates/martin-mbtiles)
[![CI build ](https://github.com/maplibre/martin/workflows/CI/badge.svg )](https://github.com/maplibre/martin-mbtiles/actions)
A library to help tile servers like [Martin ](https://maplibre.org/martin ) work with [MBTiles ](https://github.com/mapbox/mbtiles-spec ) files.
This crate also has a small utility that allows users to interact with the `*.mbtiles` files from the command line. See [tools ](https://maplibre.org/martin/tools.html ) documentation for more information.
### Development
Add .mbtiles support (#549)
Adds a new [.mbtiles](https://github.com/mapbox/mbtiles-spec/blob/master/1.3/spec.md)
backend, without the grid support. Uses extensive tile content
detection, i.e. if the content is gzipped, png, jpeg, gif, webp.
From CLI, can be as easy as adding a path to a directory that contains a
.mbtiles file (works just like pmtiles support)
```bash
# All *.mbtiles files in this dir will be published.
# The filename will be used as the source ID
martin ./tests/fixtures
```
From configuration file, the path can be specified in a number of ways
(same as pmtiles)
```yaml
mbtiles:
paths:
# scan this whole dir, matching all *.mbtiles files
- /dir-path
# specific mbtiles file will be published as mbtiles2 source
- /path/to/mbtiles2.mbtiles
sources:
# named source matching source name to a single file
pm-src1: /tmp/mbtiles.mbtiles
# named source, where the filename is explicitly set. This way we will be able to add more options later
pm-src2:
path: /tmp/mbtiles.mbtiles
```
Fixes #494
2023-01-09 08:10:23 +03:00
2023-06-01 20:07:13 +03:00
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.