Skip to content

Flip longest line processing stage and improvements

Pre-release
Pre-release
Compare
Choose a tag to compare
@trundev trundev released this 26 Nov 20:47
· 51 commits to master since this release

This version includes a new processing stage after the trace_ridges() one, to flip the longest ridge line in each valid-elevation island. This causes, this line to become extension of the other lines, which in fact creates the longest possible ridge line. The distances along all the lines is adjusted to reflect this.

Note that, it is not necessary the initial "seed" point to be part of this "longest possible" line. This trick also makes the algorithm almost invariant from the "seed" point selection.

It is tested on SRTM N39E021, just like 2020-10. See GitHub action 384135885.

Summary of the major changes:

  • Flip the longest ridge line processing stage
  • Better handling of the boundary pixels, now the fake ridges around the boundaries are almost gone
  • Minor parallelization changes to prepare for wide parallelization use in all steps
  • GitHub workflow improvements, including merge source DEMs option and migration to GDAL 3.2
  • Alternative distance calculation methods, slightly faster, but mostly to avoid pyproj
  • Development option to keep/resume processing at the 2 points between stages

Work in progress:

  • Very serious parallelization of all stages, like line length calculation
  • Minimal processing in the fist stage
  • Different technique for the second stage, including generation of the data skipped by the first one
  • Quick identification of non-ridge lines, could allow early trimming
  • Rank the ridges to allow grouping
  • More detailed topology with shorter longer lines, that requires trim improvement