finds.dev← search

// the find

karimnaaji/vectiler

★ 502 · C++ · MIT · updated May 2024

A vector tile, terrain and city 3d model builder and CLI exporter. Consider using its fully integrated user interface at https://www.halfmaps.io

vectiler downloads OpenStreetMap-derived vector tiles and exports them as Wavefront OBJ meshes, with optional buildings, roads, and terrain built from elevation data. It is aimed at people who want 3D-printable or Sketchfab-ready city models from a tile coordinate range.

The dependencies are vendored as submodules (earcut, rapidjson, glm, flag) and the core is plain C++ with a small CLI, so it builds without a package manager beyond CMake and libcurl. The tile-range syntax (--tilex 5242/5260) and per-feature mesh splitting (--splitMeshes) make batch exports of neighbouring tiles practical. The terrain path requires a zoom 15 tile and exposes an extrusion scale and pedestal option, which is the kind of detail that matters when the output goes to a slicer.

Vector tiles come from Nextzen, a successor to Mapzen's service, so every run needs a developer API key from a third-party service that may change its terms or availability. The last push was May 2024, and the build instructions still reference g++-4.9, C++11, and Visual Studio 2015, so expect to fight the toolchain on a current machine. The CI badges point at Travis and AppVeyor, which are unlikely to still be running. Test coverage is a single Catch file, so changes to the geometry code are mostly verified by eyeballing the OBJ output.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →