Open Source Routing Machine - C++ backend
Go to file
Michael Krasnyk 6bee8866de Squashed 'third_party/vtzero/' content from commit 2b43c8f5c
git-subtree-dir: third_party/vtzero
git-subtree-split: 2b43c8f5c7cc461a874a657673dfc15f8fb21d1d
2018-04-19 22:03:52 +03:00
cmake Squashed 'third_party/vtzero/' content from commit 2b43c8f5c 2018-04-19 22:03:52 +03:00
doc Squashed 'third_party/vtzero/' content from commit 2b43c8f5c 2018-04-19 22:03:52 +03:00
examples Squashed 'third_party/vtzero/' content from commit 2b43c8f5c 2018-04-19 22:03:52 +03:00
include/vtzero Squashed 'third_party/vtzero/' content from commit 2b43c8f5c 2018-04-19 22:03:52 +03:00
include-external Squashed 'third_party/vtzero/' content from commit 2b43c8f5c 2018-04-19 22:03:52 +03:00
test Squashed 'third_party/vtzero/' content from commit 2b43c8f5c 2018-04-19 22:03:52 +03:00
.clang-tidy Squashed 'third_party/vtzero/' content from commit 2b43c8f5c 2018-04-19 22:03:52 +03:00
.gitignore Squashed 'third_party/vtzero/' content from commit 2b43c8f5c 2018-04-19 22:03:52 +03:00
.gitmodules Squashed 'third_party/vtzero/' content from commit 2b43c8f5c 2018-04-19 22:03:52 +03:00
.travis.yml Squashed 'third_party/vtzero/' content from commit 2b43c8f5c 2018-04-19 22:03:52 +03:00
.ycm_extra_conf.py Squashed 'third_party/vtzero/' content from commit 2b43c8f5c 2018-04-19 22:03:52 +03:00
appveyor.yml Squashed 'third_party/vtzero/' content from commit 2b43c8f5c 2018-04-19 22:03:52 +03:00
build-appveyor.bat Squashed 'third_party/vtzero/' content from commit 2b43c8f5c 2018-04-19 22:03:52 +03:00
build-msys2.bat Squashed 'third_party/vtzero/' content from commit 2b43c8f5c 2018-04-19 22:03:52 +03:00
CHANGELOG.md Squashed 'third_party/vtzero/' content from commit 2b43c8f5c 2018-04-19 22:03:52 +03:00
CMakeLists.txt Squashed 'third_party/vtzero/' content from commit 2b43c8f5c 2018-04-19 22:03:52 +03:00
codecov.yml Squashed 'third_party/vtzero/' content from commit 2b43c8f5c 2018-04-19 22:03:52 +03:00
CONTRIBUTING.md Squashed 'third_party/vtzero/' content from commit 2b43c8f5c 2018-04-19 22:03:52 +03:00
EXTERNAL_LICENSES.txt Squashed 'third_party/vtzero/' content from commit 2b43c8f5c 2018-04-19 22:03:52 +03:00
LICENSE Squashed 'third_party/vtzero/' content from commit 2b43c8f5c 2018-04-19 22:03:52 +03:00
README.md Squashed 'third_party/vtzero/' content from commit 2b43c8f5c 2018-04-19 22:03:52 +03:00

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.6.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)