Skip to content

v3.0

Compare
Choose a tag to compare
@agrenott agrenott released this 16 Apr 17:22
· 79 commits to master since this release

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