What's Changed
This release adds support for geoparquet sources like Overture Maps. It also adds support for writing custom Java profiles without any build tools. See https://github.com/onthegomap/planetiler-examples for instructions getting started and examples using OpenStreetMap and Overture data.
To run this release from Java, download the attached planetiler.jar
, or from docker use ghcr.io/onthegomap/planetiler:0.8.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!
⚠️ Planetiler now requires Java 21 or later to run, or Java 22 for no-build-tool Java Profiles ⚠️
New Features and Improvements
- Add geoparquet/Overture support
- Iniitial geoparquet support by @msbarry in #888
- Remove primary geometry from parquet feature tags by @msbarry in #893
- Attach parquet schema to features by @msbarry in #897
- Avoid deserializing entire parquet geometry just to determine type by @msbarry in #898
- Make sure
FeatureCollector
can handle structs by @msbarry in #904 - Structured tag api by @msbarry in #895
- Add support for linear-referenced tags for Overture Maps Data by @msbarry in #900
- Java API improvements
- Min polygon area centroid by @msbarry in #720
- Add API for maximum inscribed circle/pole of inaccessibility centerpoint of a polygon by @msbarry in #723
- Add
setAttrWithMinSize
to feature API by @msbarry in #725 - add extraMetadata to profile interface [#794] by @bdon in #795
- Add whole-tile postprocess hook by @msbarry in #802
- Add omit() feature collector api and
--refresh-sources
arg by @msbarry in #810 - Add tile post-process hook to forwarding profile by @msbarry in #813
- Add firstCoordinate vector tile feature helper by @msbarry in #814
- Add polygon index intersection utility by @msbarry in #866
- Attach sources to fat jar to improve no-build IDE experience by @msbarry in #892
- Make VectorTile.Feature implement WithTags by @msbarry in #896
- Parquet/no-build-tool java profile usability improvements by @msbarry in #914
- Handle immutable output from post process layer/tile feature methods by @msbarry in #920
- YAML Schema improvements
- Generate deterministic output for the same input
- Add detailed jts debugging info by @msbarry in #703
- Archive compare by @msbarry in #780
- Deterministic merging by @msbarry in #785
- Make OSM polygon construction deterministic by @msbarry in #788
- Fix feature merge consistent ordering by @msbarry in #789
- Deterministic IDs on SimpleFeatures by @msbarry in #791
- Check for deterministic output in CI by @msbarry in #792
- Upgrade to OpenMapTiles 3.15 by @msbarry and @phanecak-maptiler in #764, #764, #835, #880, #923
- Use maven build time for docker image by @msbarry in #744
- Use push-down bbox filter for shapefiles by @msbarry in #757
- Add support for "files"-archive by @bbilger in #761
- Use snappy compression for
--compress-temp
flag by @msbarry in #905 - Log more details on feature processing errors by @msbarry in #884
Bugs
- Fix log4j log format by @msbarry in #697
- Logging fix by @msbarry in #699
- Add detailed jts debugging info by @msbarry in #703
- Fix buffer union unbuffer exceptions by @msbarry in #713
- Compute layer attr stats from actual vector tile features by @msbarry in #752
- fix center coordinates of pmtiles writer by @bdon in #769
- Remove log4j usage by @cmahnke in #776
- remove log4j-CloseShieldOutputStream usage by @bbilger in #779
- Fix comparison of multipolygons bounds check [#780] by @bdon in #793
- Attempt to fix IOException/GOAWAY happening within parseResults() by @phanecak-maptiler in #818
- Filter out null MultiExpression entries by @phanecak-maptiler in #822
- Safer natural earth unzip by @msbarry in #825
- Fix tile size stats memory leak by @msbarry in #861
- exclude slf4j-nop from geopackage to avoid SLF4J warning by @phanecak-maptiler in #874
- Ignore duplicate multipolygon relation members by @msbarry in #876
- Log more details on feature processing errors by @msbarry in #884
- Prevent double MultExpression matching by @msbarry in #916
Contributor/Documentation improvements
- Upgrade to Java 21 by @msbarry in #693
- Use some new Java 21 features by @msbarry in #695
- Upgrade eclipse formatter by @msbarry in #696
- Rewrite downloader using virtual threads by @msbarry in #702
- Updated benchmarks by @msbarry in #798
- Small benchmarks by @msbarry in #801
- Update GCP benchmarks by @msbarry in #803
- Add note about java update process by @wipfli in #807
- Remove quoting side-bars from planetiler-custommap/README.md by @zstadler in #844
- Fix typo by @wipfli in #907
Dependencies
Once again, @dependabot has been busy keeping dependencies up-to-date.
Dependency upgrades in this release
New Contributors
Full Changelog: v0.7.0...v0.8.0