Hallo jaimemd,
Die Karten von ITO sind “relativ alt”. Die gab es schon, als ich vor knapp vier Jahren mit dem Mappen angefangen habe. Damals war in Deutschland die Umstellung auf zweigleisiges Mappen von Bahnstrecken noch nicht ganz fertig (v.a. User BurnyB hat dafür bundesweit große Beiträge geleistet, auf die ich vielerorts beim Mappen heute noch stoße). Andere Länder waren vermutlich noch nicht so weit. Die Karte wurde also entworfen, als tracks=* noch “richtig” verwendet wurde und hatte also eher – vermute ich – QA-Zwecke. Am liebsten würde ich ITO bitten, die Karte einfach abzuschalten, aber andere Regionen sind halt noch nicht so weit wie wir und können die Karte daher sinnvoll nutzen.
Anekdote am Rande: Es gab Zeiten, da diskutierte man in der deutschen Community, ob man überhaupt bei Bahnstrecken jedes Gleis einzeln mappen sollte.
Das Folgende ist bloß ein grobes Konzept, dazu gibt es noch keine Versuche und keinen Code!
- Man könnte um alle Gleise einen Buffer legen, der einen etwas größeren Radius als der übliche Gleismittenabstand hat.
- Diese Buffer verschneiden.
- Die Schnittfläche wird als Rastergrafik gerendert.
- Mittels Skelettierung wird die Mittelachsen dieser meist länglichen Flächen ermittelt. [1]
- Kurze Linien werden verworfen. Diese entstehen nämlich, wenn ein Way gesplittet ist. Speichere die übrigen Linien. (Diese Linien sind Strecken mit zwei oder mehr parallelen Gleisen)
- Bilde um diese Linien wieder Buffer mit demselben Radius wie in 2.
- Verschneide diese Buffer und ermittle die Mittelachsen.
-
- Kurze Linien werden verworfen. Diese entstehen nämlich, wenn ein Way gesplittet ist. Speichere die übrigen Linien. (Diese Linien sind Strecken mit drei oder mehr parallelen Gleisen)
- Wiederhole 6. bis 9. so oft, bis keine Linien mehr übrig bleiben.
Es gibt neben der ITO-Karte noch eine zweite Karte die tracks=* auswertet – der Railway-Infrastructure-View des OSMI. (siehe Taginfo-Projekt-Tab) Außerdem wissen wir nicht, ob nicht auch andere Datennutzer diese Daten intern nutzen. Daher sollte man sich an die Definitionen halten und nicht einfach das Tag anders verwenden, denn das ist Tagging für den Renderer.
Ich bin einer der OpenRailwayMap-Entwickler. Bisher habe ich tracks=* nicht so auf dem Schirm gehabt, aber ich könnte mir vorstellen tracks=2 entsprechend der klassischen Definition zu nutzen und bei Gleisen mit tracks=2 zwei parallele Linien zu zeichnen.
Viele Grüße
Michael
[1] ggf. müssen kurze Zweige des Graphenbaums entfernt werden