https://github.com/karimnaaji/vectiler
  
  
    A vector tile, terrain and city 3d model builder and CLI exporter. Consider using its fully integrated user interface at https://halfmaps.io 
    https://github.com/karimnaaji/vectiler
  
city-builder computer-graphics cpp models openstreetmap osm srtm terrain vector-tiles
        Last synced: 7 months ago 
        JSON representation
    
A vector tile, terrain and city 3d model builder and CLI exporter. Consider using its fully integrated user interface at https://halfmaps.io
- Host: GitHub
- URL: https://github.com/karimnaaji/vectiler
- Owner: karimnaaji
- License: mit
- Created: 2015-11-01T23:21:15.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2024-05-20T15:31:54.000Z (over 1 year ago)
- Last Synced: 2025-03-28T20:11:16.688Z (7 months ago)
- Topics: city-builder, computer-graphics, cpp, models, openstreetmap, osm, srtm, terrain, vector-tiles
- Language: C++
- Homepage: https://karim.naaji.fr/projects/vectiler
- Size: 23 MB
- Stars: 495
- Watchers: 27
- Forks: 72
- Open Issues: 4
- 
            Metadata Files:
            - Readme: README.md
 
Awesome Lists containing this project
- awesome-starred - karimnaaji/vectiler - A vector tile, terrain and city 3d model builder and CLI exporter. Consider using its fully integrated user interface at https://halfmaps.io (cpp)
README
          # vectiler
|Platform|Build Status|
|--------|------|
|OS X/Linux|[](https://travis-ci.org/karimnaaji/vectiler)|
|Windows|[](https://ci.appveyor.com/project/karimnaaji/vectiler/branch/master)|
A wavefront obj vector tile builder and exporter based on [mapzen](https://mapzen.com) [vector tiles](https://mapzen.com/projects/vector-tiles).
- build and export mesh in obj files based on tile coordinates (find your tiles of interest [here](http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/))

**export example**
- [sketchfab.com/e7ee1c](https://sketchfab.com/models/e7ee1c0047ce4b5dbc768adcf7a7264e)
- [sketchfab.com/693df3](https://sketchfab.com/models/693df3f9180942fba3f865e0d5ddc0ce)
**fetch submodules**
First initialize submodules by running:
```sh
$ git submodule update --init --recursive
```
**install dependencies (OS X)**
```sh
$ brew install cmake
```
**install dependencies (Linux)**
To build vectiler you will need a compiler that supports `c++11`, for example with `g++-4.9` on an ubuntu machine:
```
$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$ sudo apt-get update
$ sudo apt-get install g++-4.9 cmake libcurl4-openssl-dev
```
**build (OS X/Linux)**
To build with cmake in a `build/` directory run the following:
```shell
cmake . -Bbuild
cmake --build build
```
**build (Windows)**
First install CMake for Windows and then run the following commands in a command line tool like MinGW:
```sh
$ mkdir build
$ cd build
$ cmake .. -G "Visual Studio 14 2015 Win64"
$ cmake --build .
```
**usage**
```
  Usage: ./vectiler.out [options]
  Options:
    --name                     File name ((null))
    --apikey                   Nextzen Developer API key (https://developers.nextzen.org/)
    --splitMeshes              Generate one mesh per feature in wavefront file (0)
    --tilex                    Tile X (can be a tile range: 19294/19295) (19294)
    --tiley                    Tile Y (can be a tile range: 24642/24643) (24642)
    --tilez                    Tile Z (zoom) (16)
    --offsetx                  Global tile Offset on X coordinate (0.0)
    --offsety                  Global tile Offset on Y coordinate (0.0)
    --append                   Append the obj to an existing obj file (0)
    --buildings                Whether to export building geometry (1)
    --buildingsExtrusionScale  Building height scale factor (1.0)
    --buildingsHeight          The height at which building should be extruded (if no height data is available) (0.0)
    --pedestal                 Build a pedestal when running with terrain option (Useful for 3d printing) (0)
    --pedestalHeight           Pedestal height, can be negative (0.0)
    --terrain                  Generate terrain elevation topography (0)
    --terrainSubdivision       Terrain mesh subdivision (64)
    --terrainExtrusionScale    Terrain mesh extrusion scale (1.0)
    --roads                    Whether to export roads geometry (0)
    --roadsHeight              The roads height offset (z-axis) (1.0)
    --roadsExtrusionWidth      The roads extrusion width (5.0)
    --normals                  Export with normals (0)
    --version                  Output version
    --help                     Output help
```
**terrain**
Terrain export is only available over zoom 15 (`--tilez`):
```sh
$ ./vectiler --tilex 5242/5260 --tiley 12642/12666 --tilez 15 --terrain 1 --buildings 1 --terrainExtrusionScale 1.5 --buildingsExtrusionScale 1.9
```
