Fri Nov 4 2016
Tangram ES is a C++14 library that renders 2D & 3D maps from vector data using OpenGL ES. It is developed by the engineers at Mapzen, and this is one of the most feature-rich and flexible open-source vector tile renderers out there.
The focus of this library is to provide a highly customizable rendering architecture that styles your raster and vector data based on Mapzen's
scene.yaml file. These scene files are intended to render identical maps on both Tangram ES, as well as the WebGL-based Tangram JS.
One fantastic advantage you get when you use Tangram is that Mapzen's vector tile service is free. Though you need an API key to fetch tiles from Mapzen, there is currently no charge for your application to request tiles. Also, both the renderer and the tile backend is open source, so you can build your own backend vector tile service with your own data. They even provide instructions on how to build your own Mapzen Vector Tile Service. Granted, you can use Mapzen's vector tiles with other vector tile renderers, but Mapzen provides a set of house styles that you can use to get started with designing your cartography. Take a look at Tangram Play, a web-based scene editor that lets you play with your map's scene file.
Over the past several months I have added a few features to Tangram ES including:
Before we were only able to specify the maximum zoom in which the data source fetches tiles. With the
max_display_zoom source parameters in your scene, you can now specify the minimum zoom from which data will be fetched and rendered as well as the maximum zoom from which data will be rendered.
I added offline map tile support via MBTiles. MBTiles is a SQLite format and specification that allows you to package both vector and raster tiles in a single SQLite database file.
In addition to TopoJSON, GeoJSON and Mapbox vector tiles, you can now directly render OSM XML. This is the first building-block to creating an OpenStreetMap editor with Tangram.