/vtzero

Minimalist vector tile decoder and encoder in C++

Primary LanguageC++BSD 2-Clause "Simplified" LicenseBSD-2-Clause

vtzero

Tiny and fast vector tile decoder and encoder in C++.

Implements the Mapbox Vector Tile Specification 2.x.

Build Status Appveyor Build Status Coverage Status

Depends

  • C++11 compiler (GCC 4.8 or higher, clang 3.5 or higher, ...)
  • CMake
  • Protozero version >= 1.7.0

Build

First clone protozero:

git clone git@github.com:mapbox/protozero.git

Then clone vtzero beside protozero. The vtzero build system will, among several places, look for protozero at ../protozero. (If you would like to use protozero from a different path you can set PROTOZERO_INCLUDE_DIR in the CMake configuration step.)

Then, inside the vtzero directory do:

git submodule update --init

Finally, to build the examples and tests do:

mkdir build
cd build
cmake ..
make

Call ctest to run the tests.

Examples

Several examples are provided to show usage of the library.

Call

examples/vtzero-create

to create test tile named test.mvt.

Call

examples/vtzero-show TILE-FILE

to show the contents of TILE-FILE.

You can use

examples/vtzero-check TILE-FILE

to check vector tile for validity.

Docs

Extensive documentation is available:

Make sure to read all of it before using vtzero. Vtzero isn't the simplest library to use, because it always chooses performance over ease of use.

If Doxygen is installed on your system, the build process will automatically create the API docs for you. The results will be in your build directory under doc/html.

Authors

Jochen Topf (jochen@topf.org), Dane Springmeyer (dane@mapbox.com)