Crates.io | versatiles_derive |
lib.rs | versatiles_derive |
version | 0.15.6 |
source | src |
created_at | 2024-05-27 12:00:11.41499+00 |
updated_at | 2025-05-16 13:20:47.56377+00 |
description | A toolbox for converting, checking and serving map tiles in various formats. |
homepage | https://versatiles.org |
repository | https://github.com/versatiles-org/versatiles-rs |
max_upload_size | |
id | 1253309 |
size | 13,973 |
VersaTiles is a Rust-based tool for processing and serving tile data efficiently. It supports multiple tile formats and offers functionalities for seamless tile handling.
Install VersaTiles using the provided installation script ( that downloads the correct precompiled binary):
curl -Ls "https://github.com/versatiles-org/versatiles-rs/raw/main/helpers/install-unix.sh" | bash
Install VersaTiles via Homebrew:
brew tap versatiles-org/versatiles
brew install versatiles
VersaTiles is available via nixpkgs
(starting from version 24.05). Add this snippet to configuration.nix
:
environment.systemPackages = with pkgs; [ versatiles ];
Alternatively, use it in a shell environment:
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
buildInputs = with pkgs; [ versatiles ];
}
Find more details on Nix search.
Pull the latest Docker image for easy deployment:
docker pull versatiles-org/versatiles
Ensure you have Rust installed, then run:
cargo install versatiles
Clone the repository and build VersaTiles manually:
git clone https://github.com/versatiles-org/versatiles-rs.git
cd versatiles-rs
cargo build --bin versatiles --release
cp ./target/release/versatiles /usr/local/bin/
Run versatiles
to see available commands:
Usage: versatiles [OPTIONS] <COMMAND>
Commands:
convert Convert between different tile containers
probe Show information about a tile container
serve Serve tiles via HTTP
help Show detailed help
Convert between different tile formats, e.g. from *.tar
to *.versatiles
:
versatiles convert satellite_tiles.tar satellite_tiles.versatiles
Serve tiles over HTTP:
versatiles serve satellite_tiles.versatiles
The VersaTiles Pipeline Language (VPL) allows you to define tile-processing pipelines. Operations include merging multiple tile sources, filtering, and modifying tile content.
Example of combining multiple vector tile sources:
from_overlayed [
from_container filename="world.versatiles",
from_container filename="europe.versatiles" | filter_zoom min=5,
from_container filename="germany.versatiles"
]
More details can be found in versatiles_pipeline/README.md.
*.versatiles
, *.mbtiles
, *.pmtiles
, etc.)VersaTiles can be used as a command-line tool or integrated into Rust projects as a library. Check out crates.io and docs.rs for more details.
For advanced usage, guides, and detailed documentation, visit the official documentation.
VersaTiles is actively developed, and contributions are welcome! If you find bugs, need features, or want to contribute, please check the GitHub repository and submit an issue or pull request.
This project is licensed under the MIT License. See the LICENSE file for details.