Add support for pmtiles output format (#55)

* add pmtiles.hpp from github.com/protomaps/PMTiles [#10]

* tippecanoe main writes pmtiles output. [#10]

* detect output format using suffix
* after mbtiles is done writing, replace with pmtiles based on map/image tables.
* add method to write_json for writing json sub-object.

* tippecanoe-decode reads pmtiles input. [#10]

* tile-join reads and writes pmtiles. [#10]

* pmtiles test suite for decode and tile-join [#10]

* add base GitHub CI action for compiling and test suite.

* update pmtiles.hpp with z>15 fix

* Fix some ordering problems with pmtiles decode

* Pmtiles should also pass the raw tiles tests

* Eradicate spaces from tileset metadata JSON fields

* Eradicate spaces from more test fixtures

* Update more tests

* Pmtiles tests pass now too

* Remove unnecessary sort (and make indent)

* Update changelog

* The allow-existing test for pmtiles needs -o, not -e

* Declare --allow-existing to be unsupported for pmtiles.

It was always a bad idea even for mbtiles.

Co-authored-by: Brandon Liu <bdon@bdon.org>
This commit is contained in:
Erica Fischer
2022-12-29 12:00:13 -08:00
committed by GitHub
co-authored by Brandon Liu
parent a374263466
commit 3b2599f587
197 changed files with 2517 additions and 325 deletions
@@ -4,11 +4,11 @@
"description": "tests/coalesce-tract/out/-P_--coalesce_--reorder_-z11_-Z11_-y_STATEFP10_-y_COUNTYFP10_-l_merged.json.check.mbtiles",
"format": "pbf",
"generator_options": "./tippecanoe -q -a@ -f -o tests/coalesce-tract/out/-P_--coalesce_--reorder_-z11_-Z11_-y_STATEFP10_-y_COUNTYFP10_-l_merged.json.check.mbtiles -P --coalesce --reorder -z11 -Z11 -y STATEFP10 -y COUNTYFP10 -l merged tests/coalesce-tract/tl_2010_06001_tract10.json tests/coalesce-tract/tl_2010_06075_tract10.json",
"json": "{\"vector_layers\": [ { \"id\": \"merged\", \"description\": \"\", \"minzoom\": 11, \"maxzoom\": 11, \"fields\": {\"COUNTYFP10\": \"String\", \"STATEFP10\": \"String\"} } ],\"tilestats\": {\"layerCount\": 1,\"layers\": [{\"layer\": \"merged\",\"count\": 558,\"geometry\": \"Polygon\",\"attributeCount\": 2,\"attributes\": [{\"attribute\": \"COUNTYFP10\",\"count\": 2,\"type\": \"string\",\"values\": [\"001\",\"075\"]},{\"attribute\": \"STATEFP10\",\"count\": 1,\"type\": \"string\",\"values\": [\"06\"]}]}]}}",
"json": "{\"vector_layers\":[{\"id\":\"merged\",\"description\":\"\",\"minzoom\":11,\"maxzoom\":11,\"fields\":{\"COUNTYFP10\":\"String\",\"STATEFP10\":\"String\"}}],\"tilestats\":{\"layerCount\":1,\"layers\":[{\"layer\":\"merged\",\"count\":558,\"geometry\":\"Polygon\",\"attributeCount\":2,\"attributes\":[{\"attribute\":\"COUNTYFP10\",\"count\":2,\"type\":\"string\",\"values\":[\"001\",\"075\"]},{\"attribute\":\"STATEFP10\",\"count\":1,\"type\":\"string\",\"values\":[\"06\"]}]}]}}",
"maxzoom": "11",
"minzoom": "11",
"name": "tests/coalesce-tract/out/-P_--coalesce_--reorder_-z11_-Z11_-y_STATEFP10_-y_COUNTYFP10_-l_merged.json.check.mbtiles",
"strategies": "[ { }, { }, { }, { }, { }, { }, { }, { }, { }, { }, { }, { \"tiny_polygons\": 6 } ]",
"strategies": "[{},{},{},{},{},{},{},{},{},{},{},{\"tiny_polygons\":6}]",
"type": "overlay",
"version": "2"
}, "features": [