2014-09-26 14:45:45 -07:00
|
|
|
tippecanoe
|
|
|
|
==========
|
2014-02-07 16:25:54 -08:00
|
|
|
|
2014-09-26 14:45:45 -07:00
|
|
|
Build vector tilesets from large collections of GeoJSON features.
|
2014-02-07 16:25:54 -08:00
|
|
|
|
2014-09-26 14:45:45 -07:00
|
|
|
Usage
|
2014-02-07 16:25:54 -08:00
|
|
|
-----
|
|
|
|
|
2014-09-26 14:45:45 -07:00
|
|
|
tippecanoe -o file.mbtiles [file.json]
|
2014-02-07 18:11:36 -08:00
|
|
|
|
2014-09-26 14:45:45 -07:00
|
|
|
If the file is not specified, it reads GeoJSON from the standard input.
|
2014-02-07 18:11:36 -08:00
|
|
|
|
2014-09-27 10:36:45 -07:00
|
|
|
The GeoJSON features need not be wrapped in a FeatureCollection.
|
|
|
|
You can concatenate multiple GeoJSON features or files together,
|
|
|
|
and it will parse out the features and ignore whatever other objects
|
|
|
|
it encounters.
|
|
|
|
|
2014-09-26 14:45:45 -07:00
|
|
|
Options
|
2014-02-08 09:57:55 -08:00
|
|
|
-------
|
|
|
|
|
2014-09-26 14:45:45 -07:00
|
|
|
* -l Layer name (default "file" if source is file.json)
|
|
|
|
* -n Human-readable name (default file.json)
|
|
|
|
* -z Base zoom level (default 14)
|
|
|
|
* -Z Lowest zoom level (default 0)
|
|
|
|
* -d Detail at base zoom level (default 12, for tile resolution of 4096)
|
|
|
|
* -D Detail at lower zoom levels (default 10, for tile resolution of 1024)
|
2014-09-29 15:09:21 -07:00
|
|
|
* -x Property (removes the named properties from all features)
|
|
|
|
* -f Force: Delete existing mbtiles file if it already exists.
|
2014-10-07 13:54:13 -07:00
|
|
|
* -r Rate at which dots are dropped at lower zoom levels (default 2.5)
|
2014-02-08 09:57:55 -08:00
|
|
|
|
2014-09-26 14:45:45 -07:00
|
|
|
Example
|
|
|
|
-------
|
2014-02-07 18:11:36 -08:00
|
|
|
|
2014-09-27 10:36:45 -07:00
|
|
|
tippecanoe -o alameda.mbtiles -l alameda -n "Alameda County from TIGER" -z13 tl_2014_06001_roads.json
|
|
|
|
|
2014-09-29 10:49:08 -07:00
|
|
|
cat tiger/tl_2014_*_roads.json | tippecanoe -o tiger.mbtiles -l roads -n "All TIGER roads, one zoom" -z12 -Z12 -d14 -x LINEARID -x RTTYP
|
2014-02-08 10:45:25 -08:00
|
|
|
|
2014-09-26 14:45:45 -07:00
|
|
|
Geometric simplifications
|
|
|
|
-------------------------
|
2014-02-08 10:45:25 -08:00
|
|
|
|
2014-09-26 15:27:20 -07:00
|
|
|
At every zoom level, line and polygon features are subjected to Douglas-Peucker
|
|
|
|
simplification to the resolution of the tile.
|
|
|
|
|
2014-09-26 14:45:45 -07:00
|
|
|
For point features, it drops 1/2.5 of the dots for each zoom level above the base.
|
2014-09-26 15:20:08 -07:00
|
|
|
I don't know why 2.5 is the appropriate number, but the densities of many different
|
|
|
|
data sets fall off at about this same rate.
|
2014-02-08 10:45:25 -08:00
|
|
|
|
2014-09-26 14:45:45 -07:00
|
|
|
For line features, it drops any features that are too small to draw at all.
|
2014-09-26 15:36:41 -07:00
|
|
|
This still leaves the lower zooms too dark (and too dense for the 500K tile limit,
|
|
|
|
in some places), so I need to figure out an equitable way to throw features away.
|
2014-02-08 10:45:25 -08:00
|
|
|
|
2014-09-26 14:45:45 -07:00
|
|
|
It also throws away any polygons that are too small to draw. I'm not sure yet
|
|
|
|
if it is appropriate to do more than that.
|
2014-09-26 14:51:19 -07:00
|
|
|
|
2014-09-29 15:33:14 -07:00
|
|
|
Features in the same tile that share the same type and attributes are coalesced
|
|
|
|
together into a single geometry.
|
2014-09-27 10:36:45 -07:00
|
|
|
|
2014-09-26 14:51:19 -07:00
|
|
|
Development
|
|
|
|
-----------
|
|
|
|
|
2014-09-27 10:36:45 -07:00
|
|
|
Requires protoc (brew install protobuf or apt-get install libprotobuf-dev),
|
|
|
|
and sqlite3 (apt-get install libsqlite3-dev). To build:
|
2014-09-26 14:51:19 -07:00
|
|
|
|
|
|
|
make
|
2014-09-26 15:20:08 -07:00
|
|
|
|
|
|
|
and perhaps
|
|
|
|
|
|
|
|
make install
|