[NZ] Proposed import of ele=* tag for imported peaks/saddles etc

Hi all, copying my message from the OSM Oceania discord group, with a bit more detail:

Since circa 2008, the LINZ import project has imported millions of features in NZ. For peaks, saddles, backcountry huts, and mountain passes, there should usually be an ele tag on these features, to describe the elevation.

The ele tag was not added during previous import efforts, simply because LINZ stores the names of peaks in a seperate dataset to the elevations of those peaks.


As a result, we have 1,600 peaks/saddles and 1,100 backcountry huts in NZ with no ele tag. As part of the ongoing LINZ data import project, I’m proposing to a bulk addition of missing ele=* tags.

The data source would be LINZ’s 1m LiDAR DEM layer, falling back to the 8m DEM skipping regions with no LiDAR yet (edited following feedback from @applecuckoo )

The import would be done via a new page in our collection of miscellaneous OSM tools, and documented alongside the existing LINZ import documentation.

Does anyone have thoughts/opinions/suggestions on this proposal?

Cheers,
Kyle

What is the quality of this data?

Will added ele values match expected ones?

+1 to not adding ones where ele would be wrong

the nation-wide 1m LiDAR data is excellent, LINZ requires a vertical accuracy of ≤20cm

I think this is useful and sounds fine to go ahead to me.

My only concern is where the peak geometry in OSM doesn’t match the elevation model peak, and then you’re adding less accurate elevations, which probably won’t be noticed if the geometry is later improved. I don’t think this should block the import, but it would be nice if you could do something like checking the maximum elevation from within the DEM for X meters around the OSM peak, then compare the horizontal distance and if it’s too large then leave those to be manually reviewed.

3 Likes

Suggestion: prepare data for all peaks and saddles. And compare it with already tagged OSM data

This could allow to

  • detect problems in OSM data
  • detect bugs in import preparation

Then, for real import apply only limited subset mentioned in description

1 Like

thanks both, good suggestions!

I’ve been made aware of a different dataset (from the topo50 map series) that contains the elevations of well-known peaks. We can match OSM peaks to this dataset if they’re ±10 metres away horizontally. Therefore, 53% of peaks (754) can be added from this (more reliable) dataset.

For the other 655 peaks, we’ll still need to use LiDAR.


1. @aharvey’s suggestion to check nearby points

We can check the original location, and then check 4 other points (N, S, W, E) of the original point. If any point is higher, we can “walk” to this point and continue exploring, with a slightly smaller search radius (50/2^0.5n metres), until we find the local maxima.

This only works for peaks obviously, not for other features like saddles.

Result: 230 (15%) peaks have a slightly incorrect location in OSM. And 66 (4%) are not actually peaks (i.e. if we “walk” towards the highest neigbouring point, we just keep going up for >20 vertical metres, before aborting).

Results (for peaks only):

  • :green_square:A 53% (754) can use the best dataset (“Trig Points”)
  • :green_square:B 28% (394) are in the perfect location in OSM, so the LiDAR elevation can be safely used
  • :yellow_square:C 15% (230) are not quite in the correct location in OSM, but we can find the actual highest point and use that corrected LiDAR elevation.
  • :red_square:D 4% (66) are not actually `peak`s, and need to be manually fixed or deleted or retagged

2. @Mateusz_Konieczny’s suggestion to run analysis on peaks that already have an ele tag

Results: (graph shows the count of OSM nodes vs the diff in vertical metres)


Conclusion

  • :green_square:A (53%): can import
  • :green_square:B (28%): can import
  • :yellow_square:C (15%): Don’t import, manually check
  • :red_square:D (15%): Don’t import, manually fix/move/delete
  • :blue_square:Non-peaks: can import

I propose manually fixing the bad OSM data before doing any import. Example of such peaks that are either non peaks, or completely in the wrong place:

2 Likes