v0.6.0
What's Changed
This release adds several new features:
- YAML-driven configuration schemas
- Generate Shortbread Schema with shortbread.yml that uses the new YAML configuration language
- Generate OSM QA Tiles by running
planetiler.jar osm-qa
- Switch between PMTiles or MBTiles output by specifying
--output=output.pmtiles
or--output=output.mbtiles
(see #520 for more usage details) - Increase
--maxzoom
limit from 14 to 15 - Extract openmaptiles profile to openmaptiles/planetiler-openmaptiles repo, but
planetiler.jar
and the docker container still generate openmaptiles 3.14 by default or with theopenmaptiles
argument - Filter output by polygon by running with
--polygon bounds.poly
- Support for GeoPackage input files. Interested in adding support for more input formats? Use #413 as a template.
To run this release from Java, download the attached planetiler.jar, or from docker use ghcr.io/onthegomap/planetiler:0.6.0
There is ongoing discussion about the project in the #planetiler channel on OSM-US slack. If you are interested in joining, get an invite here!
New Features and Improvements
- YAML configuration schemas
- PMTiles output format
- Tile archive refactor by @bdon in #443
- add VarInt encoder for unsigned longs [#98] by @bdon in #449
- refactor VectorLayers from mbtiles into util.LayerStats [#98] by @bdon in #456
- FeatureGroup can emit in either TMS or Hilbert order. [#98] by @bdon in #455
- Speed up VarInt encoding, remove emitTilesInOrder option [#98] by @bdon in #460
- Pmtiles package low level header and directory serialization/deserialization [#98] by @bdon in #466
- Finish PMTiles write implementation and basic reader by @bdon in #502
- Expose pmtiles writer by @msbarry in #520
- Increase max zoom from z14 to z15
- Extract OpenMapTiles schema to openmpatiles/planetiler-openmaptiles and upgrade to 3.14
- Decrease power sample minzoom from 12 to 7 by @wipfli in #268
- Allow more than 256 attribute keys by @ZeLonewolf in #275
- feat: added
maxzoomForRendering
andminzoomForRendering
by @farfromrefug in #272 - OSM QA Tiles Example Profile by @msbarry in #278
- feat:
--polygon
argument to constrain mbtiles to a poly shape by @farfromrefug in #280 - Cli add version argument by @ttomasz in #376
- Add shapefile directory source by @erik in #406
- Add planetiler-specific metadata by @msbarry in #428
- Add layer to shapefile by @msbarry in #429
- Add basic support for reading GeoPackage files. by @erik in #413
- Add geopackage to supported data sources by @wipfli in #442
- Support unzipping GeoPackage sources at runtime by @erik in #430
- Add
--download-max-bandwidth
option by @msbarry in #467 - Support disabling colors in terminal output by @msbarry in #501
- Expose setId in FeatureCollector [#377] by @bdon in #514
Performance Improvements
- Memory-mapped lazy reads by default by @msbarry in #300
- Lazy primitive group deserialization by @msbarry in #309
- Add --keep-unzipped option to avoid unzipping sources each time by @msbarry in #522
Bug Fixes
- fix: merge line if it needs to be simplified by @farfromrefug in #244
- Fix memoize bug by @msbarry in #279
- Fix bounds check on dense nodes by @msbarry in #301
- Improve shapefile zip reads by @msbarry in #314
- Fix NPE for
OsmReader#estimateMemoryUsageBytes()
by @erik in #389 - Move NumberFormat to thread-local variable by @erik in #387
- Fix max tile size in stats output. by @erik in #399
- Switch ordering of translation providers by @msbarry in #403
- Fix timeout issues by @msbarry in #435
- Tile hashing fix by @phanecak-maptiler in #436
- Revert "fix is convex negated (#241)" by @erik in #458
- Improve is convex logic by @msbarry in #459
- Detect certain kinds of invalid polygons when slicing into tiles by @msbarry in #499
- Fix madvise bug by @msbarry in #523
- Fix geometry errors by @msbarry in #526
- Fall back to slower transliterator by @msbarry in #543
Contributor/Documentation Improvements
- Fix flaky windows test by @msbarry in #264
- Rename README subtitle from custom map to examples by @wipfli in #267
- small readme cleanups by @bdon in #265
- Add instructions for using Planetiler with gradle by @ZeLonewolf in #274
- Generate protobuf during build by @msbarry in #310
- Publish test zip files by @msbarry in #313
- Submodule followups by @msbarry in #312
- Add
quickstart.sh
script to run with recommended settings by @msbarry in #318 - Bump version to 0.6-SNAPSHOT by @msbarry in #342
- Fix build by @msbarry in #344
- Custommap readme tweaks by @msbarry in #346
- Describe anchors and aliases in readme by @msbarry in #354
- Logging deps by @msbarry in #327
- use current repo for update-pr/dawidd6/action-download-artifact by @phanecak-maptiler in #380
- Fix linux install link by @msbarry in #395
- Remove outdated reference to "relation_member" type by @erik in #397
- Update README.md by @msbarry in #400
- Link to pyosmium-up-to-date by @wipfli in #402
- Fix typo by @wipfli in #420
- Extract ZIP file walker out of ShapefileReader. by @erik in #423
- fix CloseableConsumer class name by @bdon in #454
- Convert get all tile coords to iterator by @msbarry in #463
- Remove snakeyaml dependency by @msbarry in #473
- Require minimum java 17 by @msbarry in #477
- Update ReadableTileArchive.java javadoc by @msbarry in #486
- Add
metadataTable
alias by @msbarry in #517 - Run CI on java 20 by @msbarry in #539
- Update notice.md by @msbarry in #544
Dependencies
Once again, @dependabot has been busy keeping dependencies up-to-date.
Dependency upgrades in this release
- Bump spotless-maven-plugin from 2.22.5 to 2.22.6 by @dependabot in #257
- Bump maven-failsafe-plugin from 3.0.0-M6 to 3.0.0-M7 in /.github/planetiler-examples-dependabot by @dependabot in #259
- Bump maven-surefire-plugin from 3.0.0-M6 to 3.0.0-M7 by @dependabot in #263
- Bump commonmark from 0.18.2 to 0.19.0 by @dependabot in #269
- Bump maven-surefire-plugin from 3.0.0-M6 to 3.0.0-M7 in /.github/planetiler-examples-dependabot by @dependabot in #270
- Bump maven-failsafe-plugin from 3.0.0-M6 to 3.0.0-M7 by @dependabot in #271
- Bump spotless-maven-plugin from 2.22.6 to 2.22.8 by @dependabot in #273
- Bump prometheus.version from 0.15.0 to 0.16.0 by @dependabot in #276
- Bump msgpack-core from 0.9.1 to 0.9.2 by @dependabot in #277
- Bump maven-enforcer-plugin from 3.0.0 to 3.1.0 by @dependabot in #281
- Bump jts-core from 1.18.2 to 1.19.0 by @dependabot in #282
- Bump styfle/cancel-workflow-action from 0.9.1 to 0.10.0 by @dependabot in #285
- Bump msgpack-core from 0.9.2 to 0.9.3 by @dependabot in #287
- Bump spotless-maven-plugin from 2.22.8 to 2.23.0 by @dependabot in #289
- Bump log4j.version from 2.17.2 to 2.18.0 by @dependabot in #291
- Bump maven-assembly-plugin from 3.3.0 to 3.4.0 in /.github/planetiler-examples-dependabot by @dependabot in #292
- Bump maven-assembly-plugin from 3.3.0 to 3.4.0 by @dependabot in #293
- Bump maven-assembly-plugin from 3.4.0 to 3.4.1 in /.github/planetiler-examples-dependabot by @dependabot in #295
- Bump maven-assembly-plugin from 3.4.0 to 3.4.1 by @dependabot in #294
- Bump maven-deploy-plugin from 3.0.0-M2 to 3.0.0 by @dependabot in #299
- Bump maven-assembly-plugin from 3.4.1 to 3.4.2 by @dependabot in #304
- Bump maven-assembly-plugin from 3.4.1 to 3.4.2 in /.github/planetiler-examples-dependabot by @dependabot in #305
- Bump junit-jupiter-api from 5.8.2 to 5.9.0 in /.github/planetiler-examples-dependabot by @dependabot in #307
- Bump junit.version from 5.8.2 to 5.9.0 by @dependabot in #306
- Bump geotools.version from 27.0 to 27.1 by @dependabot in #308
- Bump spotless-maven-plugin from 2.23.0 to 2.24.0 by @dependabot in #311
- Bump sqlite-jdbc from 3.36.0.3 to 3.39.2.0 by @dependabot in #315
- Bump RoaringBitmap from 0.9.30 to 0.9.31 by @dependabot in #316
- Bump spotless-maven-plugin from 2.24.0 to 2.24.1 by @dependabot in #319
- Bump protobuf-java from 3.21.4 to 3.21.5 by @dependabot in #320
- Bump maven-javadoc-plugin from 3.4.0 to 3.4.1 by @dependabot in #321
- Bump mockito-core from 4.6.1 to 4.7.0 by @dependabot in #322
- Bump sqlite-jdbc from 3.39.2.0 to 3.39.2.1 by @dependabot in #328
- Bump spotless-maven-plugin from 2.24.1 to 2.25.0 by @dependabot in #329
- Bump snakeyaml from 1.30 to 1.31 by @dependabot in #330
- Bump jib-maven-plugin from 3.2.1 to 3.3.0 by @dependabot in #331
- Bump jackson.version from 2.13.3 to 2.13.4 by @dependabot in #332
- Bump RoaringBitmap from 0.9.31 to 0.9.32 by @dependabot in #333
- Bump mockito-core from 4.7.0 to 4.8.0 by @dependabot in #334
- Bump sqlite-jdbc from 3.39.2.1 to 3.39.3.0 by @dependabot in #335
- Bump snakeyaml from 1.31 to 1.32 by @dependabot in #336
- Bump protobuf-java from 3.21.5 to 3.21.6 by @dependabot in #337
- Bump spotless-maven-plugin from 2.25.0 to 2.26.0 by @dependabot in #338
- Bump junit-jupiter-api from 5.9.0 to 5.9.1 in /.github/planetiler-examples-dependabot by @dependabot in #340
- Bump junit.version from 5.9.0 to 5.9.1 by @dependabot in #341
- Bump spotless-maven-plugin from 2.26.0 to 2.27.0 by @dependabot in #345
- Bump maven-jar-plugin from 3.2.2 to 3.3.0 by @dependabot in #356
- Bump snakeyaml from 1.32 to 1.33 by @dependabot in #357
- Bump slf4j-api from 2.0.2 to 2.0.3 by @dependabot in #358
- Bump spotless-maven-plugin from 2.27.0 to 2.27.1 by @dependabot in #359
- Bump protobuf-java from 3.21.6 to 3.21.7 by @dependabot in #361
- Bump styfle/cancel-workflow-action from 0.10.0 to 0.10.1 by @dependabot in #360
- Bump snakeyaml-engine from 2.4 to 2.5 by @dependabot in #362
- Bump spotless-maven-plugin from 2.27.1 to 2.27.2 by @dependabot in #364
- Bump styfle/cancel-workflow-action from 0.10.1 to 0.11.0 by @dependabot in #365
- Bump RoaringBitmap from 0.9.32 to 0.9.33 by @dependabot in #368
- Bump protobuf-java from 3.21.7 to 3.21.8 by @dependabot in #369
- Bump icu4j from 71.1 to 72.1 by @dependabot in #370
- Bump geotools.version from 27.1 to 27.2 by @dependabot in #371
- Bump reproducible-build-maven-plugin from 0.15 to 0.16 by @dependabot in #372
- Bump mockito-core from 4.8.0 to 4.8.1 by @dependabot in #373
- Bump protobuf-java from 3.21.8 to 3.21.9 by @dependabot in #375
- Bump commonmark from 0.19.0 to 0.20.0 by @dependabot in #378
- Bump sqlite-jdbc from 3.39.3.0 to 3.39.4.0 by @dependabot in #381
- Bump jackson.version from 2.13.4 to 2.14.0 by @dependabot in #383
- Bump jnr-ffi from 2.2.12 to 2.2.13 by @dependabot in #385
- Bump sqlite-jdbc from 3.39.4.0 to 3.39.4.1 by @dependabot in #386
- Bump os-maven-plugin from 1.7.0 to 1.7.1 by @dependabot in #388
- Bump geotools.version from 27.2 to 28.0 by @dependabot in #390
- Bump RoaringBitmap from 0.9.33 to 0.9.35 by @dependabot in #392
- Bump commonmark from 0.20.0 to 0.21.0 by @dependabot in #393
- Bump jib-maven-plugin from 3.3.0 to 3.3.1 by @dependabot in #394
- Bump jackson.version from 2.14.0 to 2.14.1 by @dependabot in #396
- Bump sqlite-jdbc from 3.39.4.1 to 3.40.0.0 by @dependabot in #401
- Bump protobuf-java from 3.21.9 to 3.21.10 by @dependabot in #404
- Bump slf4j-api from 2.0.3 to 2.0.5 by @dependabot in #405
- Bump mockito-core from 4.8.1 to 4.9.0 by @dependabot in #407
- Bump cel-bom from 0.3.10 to 0.3.11 by @dependabot in #409
- Bump spotless-maven-plugin from 2.27.2 to 2.28.0 by @dependabot in #410
- Bump protobuf-java from 3.21.10 to 3.21.11 by @dependabot in #412
- Bump slf4j-api from 2.0.5 to 2.0.6 by @dependabot in #414
- Bump protobuf-java from 3.21.11 to 3.21.12 by @dependabot in #415
- Bump mockito-core from 4.9.0 to 4.10.0 by @dependabot in #416
- Bump RoaringBitmap from 0.9.35 to 0.9.36 by @dependabot in #418
- Bump mockito-core from 4.10.0 to 4.11.0 by @dependabot in #425
- Bump spotless-maven-plugin from 2.28.0 to 2.29.0 by @dependabot in #427
- Bump RoaringBitmap from 0.9.36 to 0.9.37 by @dependabot in #432
- Bump RoaringBitmap from 0.9.37 to 0.9.38 by @dependabot in #434
- Bump junit.version from 5.9.1 to 5.9.2 by @dependabot in #437
- Bump junit-jupiter-api from 5.9.1 to 5.9.2 in /.github/planetiler-examples-dependabot by @dependabot in #438
- Bump maven-failsafe-plugin from 3.0.0-M7 to 3.0.0-M8 in /.github/planetiler-examples-dependabot by @dependabot in #441
- Bump maven-surefire-plugin from 3.0.0-M7 to 3.0.0-M8 by @dependabot in #440
- Bump maven-surefire-plugin from 3.0.0-M7 to 3.0.0-M8 in /.github/planetiler-examples-dependabot by @dependabot in #445
- Bump maven-failsafe-plugin from 3.0.0-M7 to 3.0.0-M8 by @dependabot in #444
- Bump spotless-maven-plugin from 2.29.0 to 2.30.0 by @dependabot in #447
- Bump snakeyaml-engine from 2.5 to 2.6 by @dependabot in #448
- Bump mockito-core from 4.11.0 to 5.0.0 by @dependabot in #450
- Bump geotools.version from 28.0 to 28.1 by @dependabot in #452
- Bump cel-bom from 0.3.11 to 0.3.12 by @dependabot in #453
- Bump geopackage from 6.6.0 to 6.6.1 by @dependabot in #457
- Bump spotless-maven-plugin from 2.30.0 to 2.31.0 in /.github/planetiler-examples-dependabot by @dependabot in #462
- Bump spotless-maven-plugin from 2.30.0 to 2.31.0 by @dependabot in #461
- Bump mockito-core from 5.0.0 to 5.1.0 in /.github/planetiler-examples-dependabot by @dependabot in #465
- Bump jackson.version from 2.14.1 to 2.14.2 by @dependabot in #464
- Bump mockito-core from 5.1.0 to 5.1.1 in /.github/planetiler-examples-dependabot by @dependabot in #470
- Bump mockito-core from 5.1.0 to 5.1.1 by @dependabot in #469
- Bump maven-enforcer-plugin from 3.1.0 to 3.2.1 by @dependabot in #471
- Bump sqlite-jdbc from 3.40.0.0 to 3.40.1.0 by @dependabot in #472
- Bump RoaringBitmap from 0.9.38 to 0.9.39 by @dependabot in #474
- Bump spotless-maven-plugin from 2.31.0 to 2.32.0 by @dependabot in #479
- Bump maven-deploy-plugin from 3.0.0 to 3.1.0 by @dependabot in #480
- Bump spotless-maven-plugin from 2.32.0 to 2.33.0 by @dependabot in #483
- Bump maven-failsafe-plugin from 3.0.0-M8 to 3.0.0-M9 in /.github/planetiler-examples-dependabot by @dependabot in #485
- Bump maven-surefire-plugin from 3.0.0-M8 to 3.0.0-M9 by @dependabot in #484
- Bump maven-surefire-plugin from 3.0.0-M8 to 3.0.0-M9 in /.github/planetiler-examples-dependabot by @dependabot in #489
- Bump maven-failsafe-plugin from 3.0.0-M8 to 3.0.0-M9 by @dependabot in #488
- Bump maven-javadoc-plugin from 3.4.1 to 3.5.0 by @dependabot in #490
- Bump protobuf-java from 3.21.12 to 3.22.0 by @dependabot in #491
- Bump geotools.version from 28.1 to 28.2 by @dependabot in #493
- Bump log4j.version from 2.19.0 to 2.20.0 by @dependabot in #494
- Bump maven-assembly-plugin from 3.4.2 to 3.5.0 in /.github/planetiler-examples-dependabot by @dependabot in #498
- Bump sqlite-jdbc from 3.40.1.0 to 3.41.0.0 by @dependabot in #497
- Bump maven-assembly-plugin from 3.4.2 to 3.5.0 by @dependabot in #500
- Bump spotless-maven-plugin from 2.33.0 to 2.34.0 by @dependabot in #503
- Bump protobuf-java from 3.22.0 to 3.22.1 by @dependabot in #504
- Bump mockito-core from 5.1.1 to 5.2.0 by @dependabot in #507
- Bump protobuf-java from 3.22.1 to 3.22.2 by @dependabot in #508
- Bump spotless-maven-plugin from 2.34.0 to 2.35.0 by @dependabot in #513
- Bump maven-surefire-plugin from 3.0.0-M9 to 3.0.0 by @dependabot in #515
- Bump maven-failsafe-plugin from 3.0.0-M9 to 3.0.0 in /.github/planetiler-examples-dependabot by @dependabot in #516
- Bump maven-surefire-plugin from 3.0.0-M9 to 3.0.0 in /.github/planetiler-examples-dependabot by @dependabot in #519
- Bump maven-failsafe-plugin from 3.0.0-M9 to 3.0.0 by @dependabot in #518
- Bump slf4j-api from 2.0.6 to 2.0.7 by @dependabot in #524
- Bump flatten-maven-plugin from 1.3.0 to 1.4.0 by @dependabot in #525
- Bump sqlite-jdbc from 3.41.0.0 to 3.41.0.1 by @dependabot in #527
- Bump sqlite-jdbc from 3.41.0.1 to 3.41.2.0 by @dependabot in #528
- Bump maven-deploy-plugin from 3.1.0 to 3.1.1 by @dependabot in #532
- Bump sqlite-jdbc from 3.41.2.0 to 3.41.2.1 by @dependabot in #535
- Bump cel-bom from 0.3.12 to 0.3.13 by @dependabot in #538
- Bump flatten-maven-plugin from 1.4.0 to 1.4.1 by @dependabot in #541
- Bump geotools.version from 28.2 to 29.0 by @dependabot in #542
Benchmarks
Test runs on an r7g.metal
ec2 instance for entire planet:
- openmaptiles 69GB output 23m12s
- osm-qa 63GB output 12m42s
- shortbread.yml 62GB output 16m20s
- power.yml 980MB output 3m39s
New Contributors
- @bdon made their first contribution in #265
- @farfromrefug made their first contribution in #244
- @lazaa32 made their first contribution in #258
- @phanecak-maptiler made their first contribution in #380
- @erik made their first contribution in #389
- @ttomasz made their first contribution in #376
What's next?
Stay tuned for more output formats, a high-performance archive conversion utility, and support for generating contour lines from DEM datasets!
Full Changelog: v0.5.0...v0.6.0