• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..21-Sep-2021-

cmake/H21-Sep-2021-6457

doc/H03-May-2022-3,5782,766

examples/H03-May-2022-1,046763

include/vtzero/H21-Sep-2021-4,9452,207

include-external/H21-Sep-2021-1,240985

test/H03-May-2022-16,33212,733

.clang-tidyH A D21-Sep-20211.7 KiB4948

.gitignoreH A D21-Sep-20216 21

.gitmodulesH A D21-Sep-2021108 43

.travis.ymlH A D21-Sep-20215.5 KiB179166

.ycm_extra_conf.pyH A D21-Sep-20211.2 KiB5125

CHANGELOG.mdH A D21-Sep-20211,003 4524

CONTRIBUTING.mdH A D21-Sep-2021766 2619

LICENSEH A D21-Sep-20211.3 KiB2620

README.mdH A D21-Sep-20212.2 KiB9456

appveyor.ymlH A D21-Sep-20211.9 KiB6249

build-appveyor.batH A D21-Sep-20211.4 KiB5943

build-msys2.batH A D21-Sep-2021423 1913

codecov.ymlH A D21-Sep-202130 33

README.md

1# vtzero
2
3Tiny and fast vector tile decoder and encoder in C++.
4
5Implements the [Mapbox Vector Tile Specification 2.x](https://www.mapbox.com/vector-tiles/specification).
6
7[![Build Status](https://travis-ci.org/mapbox/vtzero.svg?branch=master)](https://travis-ci.org/mapbox/vtzero)
8[![Appveyor Build Status](https://ci.appveyor.com/api/projects/status/github/mapbox/vtzero?svg=true)](https://ci.appveyor.com/project/Mapbox/vtzero)
9[![Coverage Status](https://codecov.io/gh/mapbox/vtzero/branch/master/graph/badge.svg)](https://codecov.io/gh/mapbox/vtzero)
10
11
12## Depends
13
14* C++11 compiler (GCC 4.8 or higher, clang 3.5 or higher, ...)
15* CMake
16* [Protozero](https://github.com/mapbox/protozero) version >= 1.6.0
17
18
19## Build
20
21First clone `protozero`:
22
23```
24git clone git@github.com:mapbox/protozero.git
25```
26
27Then clone `vtzero` beside `protozero`. The `vtzero` build system will, among
28several places, look for `protozero` at `../protozero`. (If you would like to
29use `protozero` from a different path you can set `PROTOZERO_INCLUDE_DIR` in
30the CMake configuration step.)
31
32Then, inside the `vtzero` directory do:
33
34```
35git submodule update --init
36```
37
38Finally, to build the examples and tests do:
39
40```
41mkdir build
42cd build
43cmake ..
44make
45```
46
47Call `ctest` to run the tests.
48
49
50## Examples
51
52Several examples are provided to show usage of the library.
53
54Call
55
56    examples/vtzero-create
57
58to create test tile named `test.mvt`.
59
60Call
61
62    examples/vtzero-show TILE-FILE
63
64to show the contents of `TILE-FILE`.
65
66You can use
67
68    examples/vtzero-check TILE-FILE
69
70to check vector tile for validity.
71
72
73## Docs
74
75Extensive documentation is available:
76* [Tutorial](doc/tutorial.md) (start here)
77* [Reading vector tiles](doc/reading.md)
78* [Writing vector tiles](doc/writing.md)
79* [Advanced vtzero topics](doc/advanced.md)
80
81Make sure to read all of it before using vtzero. Vtzero isn't the simplest
82library to use, because it always chooses performance over ease of use.
83
84If [Doxygen](http://www.stack.nl/~dimitri/doxygen/) is installed on your
85system, the build process will automatically create the API docs for you.
86The results will be in your build directory under `doc/html`.
87
88
89## Authors
90
91Jochen Topf (jochen@topf.org),
92Dane Springmeyer (dane@mapbox.com)
93
94