A short update on the progress (I prefer Hausdorff distance* as the relevant metric over IoU, but YMMV):
- we have improved things to the point that only ~270 of 2110 borders have more than 10 meters difference. Work on those 270 is stalled due to Municipality borders - QA and fixes - #3 by SimonPoole
- the median Hausdorff distanz is around 3.5m, and a lot of the boundaries have distance values that are near the OSM maximum resolution (sadly that won’t stay that way) for Switzerland.
Reminder: when we imported the boundaries we simplified them as at the time we couldn’t deal with the amount of data from the original boundaries. It seems as if nobody can remember exactly which tolerance value was used during simplification, but it was likely something between 2 and 5 meters. With other words we already have a large number of borders that are significantly better than those from the original import.
As to the mountain peak and boundary stone problems: I had some hope that we could, at least for the international borders, use information from swisstopo’s boundary point dataset that provides some meta information on the points along the borders, For example if the point is marked with a boundary stone, a cross (on peaks), a bolt etc. This seems to be somewhat helpful wrt boundary stones along the French and likely the German border, but what I’ve looked at up to now less helpful for resolving the mountain peak issue. In particular the data doesn’t include elevation information and any indication if it is a peak or not (you kind of could of assume it for crosses).
See for example the data near this well know mountain peak:
https://map.geo.admin.ch/#/map?lang=en¢er=2617037.16,1091683.64&z=13&topic=ech&layers=ch.swisstopo.swissboundaries3d-land-flaeche.fill@features=CH;ch.swisstopo.hoheitsgrenzpunkte-landesvermessung@features=11646&bgLayer=ch.swisstopo.pixelkarte-farbe&featureInfo=default&catalogNodes=ech,457,532,510
The other issue with the boundary nodes is, from the small sample that I’ve looked at, there are “main boundary nodes” that are not actually part of / on the boundaries data distributed by swisstopo. I’ve asked swisstopo about this and it may be just an expected inconsistency that we have to live with.
See an example here Maps of Switzerland - Swiss Confederation - map.geo.admin.ch
Actually this shows the issue better
* that is in practical terms the maximum difference between our data and swisstopos, that is less a measure of how similar the geometries are, but more if there are any big differences, which could, for example, just be a big spike because somebody dragged a boundary node.