What's Changed
This release adds initial support for creating MapLibre Vector Tiles by running planetiler with --tile-format=mlt option. With the default settings, this takes about 15% longer than MVT but reduces the output archive size by 5-10%. You can also opt-into different MLT settings with these cli options:
--mlt-shared-dictto encoded string attributes using shared dictionaries to deduplicate repeated values. This reduces archive size an additional ~1% but reduces the largest tiles sizes by up 20-30% (see #1463, requires MapLibre GL 5.18.0 or later).--mlt-tessellate-polygonsto store pre-computed polygon triangulations in the tiles so that clients like MapLibre GL don't need to do that expensive step client-side for each tile.--exclude-idsto reduce tile size even further by excluding feature IDs if your use-case does not require them (works for MVT and MLT).--mlt-reorder-featuresto allow MLT encoding to reduce tile size by re-ordering features if your use-case does not depend on implicit feature ordering.--mlt-fastpforto use FastPFOR integer encodings. This makes tile encoding much slower but can improve decoding performance.--mlt-fsstto use FSST shared dictionary encodings. This also makes tile encoding much slower but can improve decoding performance.
--mlt-fastpfor and --mlt-fsst are meant to enable faster lightweight decompression than traditional heavyweight algorithms like gzip. You can disable gzip compression when using them by setting --tile-compression=none.
Big thanks to @louwers @mactrem @TimSylvester and @Turtelll for helping to fix issues found while adding MLT support to planetiler and to @Ingalls and the State of Colorado for sponsoring #1438!
All changes in this release:
- Adding MLT support:
- OpenMapTiles: Upgrade to openmaptiles 3.16 by @msbarry in #1451
- Shortbread: Move shortbread off the admin-points shapefile by geofabrik by @CommanderStorm in #1403
- Add option to split ways to enable lightweight client-side routing by @msbarry in #1438
- Allow setting the version number of the tileset by @zstadler in #1377
- Clarify the impact of
boundson tile generation by @zstadler in #1378 - Improve name subkey validation by @1ec5 in #1404
- When merging features, assign IDs ending in 0 to the result by @jake-low in #1397
- handle GEOMETRYCOLLECTION by @phanecak-maptiler in #1447
- Fix OSM debug URL format by @msbarry in #1458
Dependency upgrades in this release
- build(deps): bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.3 to 3.12.0 by @dependabot[bot] in #1379
- build(deps): bump jackson.version from 2.20.0 to 2.20.1 by @dependabot[bot] in #1381
- build(deps-dev): bump org.junit.jupiter:junit-jupiter-api from 6.0.0 to 6.0.1 in /.github/planetiler-examples-dependabot by @dependabot[bot] in #1384
- build(deps): bump junit.version from 6.0.0 to 6.0.1 by @dependabot[bot] in #1383
- build(deps): bump com.google.protobuf:protobuf-java from 4.32.1 to 4.33.0 by @dependabot[bot] in #1385
- build(deps): bump org.xerial:sqlite-jdbc from 3.50.3.0 to 3.51.0.0 by @dependabot[bot] in #1387
- build(deps): bump com.ibm.icu:icu4j from 77.1 to 78.1 by @dependabot[bot] in #1388
- build(deps): bump org.maplibre:mlt from 0.0.3 to 0.0.4 by @dependabot[bot] in #1391
- build(deps): bump org.sonarsource.scanner.maven:sonar-maven-plugin from 5.2.0.4988 to 5.3.0.6276 by @dependabot[bot] in #1394
- build(deps): bump org.snakeyaml:snakeyaml-engine from 2.10 to 3.0 by @dependabot[bot] in #1396
- build(deps): bump com.google.cloud.tools:jib-maven-plugin from 3.4.6 to 3.5.0 by @dependabot[bot] in #1398
- build(deps): bump org.snakeyaml:snakeyaml-engine from 3.0 to 3.0.1 by @dependabot[bot] in #1399
- build(deps): bump org.apache.maven.plugins:maven-jar-plugin from 3.4.2 to 3.5.0 by @dependabot[bot] in #1400
- build(deps): bump actions/checkout from 5 to 6 by @dependabot[bot] in #1401
- build(deps): bump com.google.cloud.tools:jib-maven-plugin from 3.5.0 to 3.5.1 by @dependabot[bot] in #1402
- build(deps): bump com.diffplug.spotless:spotless-maven-plugin from 3.0.0 to 3.1.0 by @dependabot[bot] in #1405
- build(deps): bump geotools.version from 34.0 to 34.1 by @dependabot[bot] in #1408
- build(deps): bump org.apache.maven.plugins:maven-assembly-plugin from 3.7.1 to 3.8.0 in /.github/planetiler-examples-dependabot by @dependabot[bot] in #1414
- build(deps): bump com.google.protobuf:protobuf-java from 4.33.0 to 4.33.1 by @dependabot[bot] in #1411
- build(deps): bump actions/cache from 4 to 5 by @dependabot[bot] in #1417
- build(deps): bump org.xerial:sqlite-jdbc from 3.51.0.0 to 3.51.1.0 by @dependabot[bot] in #1415
- build(deps): bump org.apache.commons:commons-lang3 from 3.19.0 to 3.20.0 by @dependabot[bot] in #1418
- build(deps): bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #1419
- build(deps): bump org.tukaani:xz from 1.10 to 1.11 by @dependabot[bot] in #1420
- build(deps): bump org.apache.logging.log4j:log4j-core from 2.25.2 to 2.25.3 in /planetiler-core by @dependabot[bot] in #1421
- build(deps): bump dawidd6/action-download-artifact from 11 to 12 by @dependabot[bot] in #1423
- build(deps): bump org.apache.maven.plugins:maven-assembly-plugin from 3.7.1 to 3.8.0 by @dependabot[bot] in #1422
- build(deps): bump org.mockito:mockito-core from 5.20.0 to 5.21.0 by @dependabot[bot] in #1425
- build(deps): bump org.apache.commons:commons-text from 1.14.0 to 1.15.0 by @dependabot[bot] in #1428
- build(deps): bump com.google.protobuf:protobuf-java from 4.33.1 to 4.33.2 by @dependabot[bot] in #1429
- build(deps): bump org.maplibre:mlt from 0.0.4 to 0.0.6 by @dependabot[bot] in #1430
- build(deps): bump org.msgpack:msgpack-core from 0.9.10 to 0.9.11 in /planetiler-core by @dependabot[bot] in #1432
- build(deps-dev): bump org.junit.jupiter:junit-jupiter-api from 6.0.1 to 6.0.2 in /.github/planetiler-examples-dependabot by @dependabot[bot] in #1435
- build(deps): bump junit.version from 6.0.1 to 6.0.2 by @dependabot[bot] in #1434
- build(deps): bump com.google.protobuf:protobuf-java from 4.33.2 to 4.33.3 by @dependabot[bot] in #1440
- build(deps): bump org.projectnessie.cel:cel-bom from 0.5.3 to 0.6.0 by @dependabot[bot] in #1441
- build(deps): bump styfle/cancel-workflow-action from 0.12.1 to 0.13.0 by @dependabot[bot] in #1444
- build(deps): bump org.sonatype.central:central-publishing-maven-plugin from 0.9.0 to 0.10.0 by @dependabot[bot] in #1443
- build(deps): bump com.ibm.icu:icu4j from 78.1 to 78.2 by @dependabot[bot] in #1445
- build(deps-dev): bump org.apache.maven.plugins:maven-source-plugin from 3.3.1 to 3.4.0 by @dependabot[bot] in #1446
- build(deps): bump jackson.version from 2.20.1 to 2.21.0 by @dependabot[bot] in #1448
- build(deps): bump blue.strategic.parquet:parquet-floor from 1.59 to 1.60 by @dependabot[bot] in #1450
- build(deps-dev): bump org.codehaus.mojo:buildnumber-maven-plugin from 3.2.1 to 3.3.0 by @dependabot[bot] in #1452
- build(deps-dev): bump com.diffplug.spotless:spotless-maven-plugin from 3.1.0 to 3.2.0 by @dependabot[bot] in #1453
- build(deps): bump org.commonmark:commonmark from 0.27.0 to 0.27.1 by @dependabot[bot] in #1456
- build(deps): bump dawidd6/action-download-artifact from 12 to 14 by @dependabot[bot] in #1457
- build(deps-dev): bump com.diffplug.spotless:spotless-maven-plugin from 3.2.0 to 3.2.1 by @dependabot[bot] in #1459
New Contributors
Full Changelog: v0.9.3...v0.10.0