v3.0
First pyhgtmap release after fork from phyghtmap.
What's Changed
- Fixed compatibility issues with recent matplotlib and GDAL (dropping compatibility with legacy matplotlib versions)
- Added unit test for most features
- Refactored output modules (including relying on official pyosmium library to write pbf format)
- Massive performance improvements (using efficient parallelization, better contour simplification algorithm)
- Removed support for single file output (getting rid of lot of code complexity and allowing better parallelization)
- Experimental contour smoothing by super sampling of input data
- Use hatch for package development
- Publication on PyPi
Full Changelog: v2.23...v3.0
Quick benchmark of performances improvements
Testing against France PACA dataset, on Intel 13600K under Windows WSL1. Files are already downloaded from previous run (just comparing transformation to OSM PBF format).
phyghtmap 2.23 (installed from latest official deb)
Without contour simplification
time phyghtmap --polygon=/mnt/g/git/garmin_mtb/work/europe/france/provence-alpes-cote-d-azur/provence-alpes-cote-d-azur.poly --step=10 --pbf --hgtdir=/mnt/g/git/garmin_mtb/work/hgt --source=view1,view3 -j16
...
real 3m37.223s
user 4m32.188s
sys 0m12.938s
Enabling contour simplification (killing performances)
time phyghtmap --polygon=/mnt/g/git/garmin_mtb/work/europe/france/provence-alpes-cote-d-azur/provence-alpes-cote-d-azur.poly --step=10 --pbf --hgtdir=/mnt/g/git/garmin_mtb/work/hgt --source=view1,view3 --simplifyContoursEpsilon=0.00001 -j16
...
real 87m47.822s
user 44m27.750s
sys 0m8.875s
pyhgtmap v3.0 (installed from PyPi)
With new default contour simplification setting.
time pyhgtmap --polygon=/mnt/g/git/garmin_mtb/work/europe/france/provence-alpes-cote-d-azur/provence-alpes-cote-d-azur.poly --step=10 --pbf --hgtdir=/mnt/g/git/garmin_mtb/work/hgt --source=view1,view3 --simplifyContoursEpsilon=0.00001 -j16
...
real 0m21.620s
user 2m8.250s
sys 0m11.266s