GPS Koordinaten / Geodaten Gleis Österreich

Hallo liebe Mitglieder!

Ich arbeite derzeit an einer Diplomarbeit am Institut für Eisenbahnwesen an der Technischen Universität Graz.

Kennt sich jemand mit den Datensätzen von openstreetmap/openrailwaymap aus bzw. weiß jemand wo man die Geodaten/GPS-Daten die openstreetmap/openrailwaymap für das Gleis benutzt bekommen kann?

Ich würde die Geodaten/GPS-Daten für alle bzw. für die größeren Gleisstrecken in Österreich benötigen u.U. mit Kilometrierung.

Zum Projekt:

Das Institut erhält jährlich alle Daten in 25cm Messabschnitten von einem Messwagen der ÖBB für alle Strecken in Österreich. (Bauart, Holz/Betonschwelle, Bogenradius, Weichen, Brücken, Tunnel, Zustand des Abschnitts, Kilometrierung uvm.)

Man hat also eine wunderschöne Datenbank, pro 25cm Abschnitt einer Gleisstrecke sind all diese Daten dargestellt, unter anderem die Kilometrierung.

Nun versuchen wir mit Hilfe von vorhandenen Geodaten und Kilometrierungen (z.b. von openrailwaymap.org) diese “Datenbank-Gleistrecke” in einem GIS System darzustellen und somit eine digitale Karte zu den Datenbanken der TU Graz zu erhalten.

(Der Messwagen nimmt ansich ebenso die GPS Koordinaten beim aufnehmen aller anderen Paramater mit, jedoch sind diese teilweise zu ungenau um mit diesen Daten zu arbeiten - u.U. funktionieren sie, wenn man die Ausreißer wegschneidet und die Aufnahmen der GPS Koordinaten vom Messwagen der letzten 10 Jahre verwendet und mittelt, so könnte man ein ordentliches Ergebnis erhalten - soweit sind wir jedoch noch nicht, die Datenextraktion aus den überlieferten Daten vom Messwagen ist keine Kleinigkeit, es bedarf umfassender Datenaufbereitung. Die Dissertanten, die sich zuvor diesem Thema widmeten, haben diese Messdaten vom Messwagen komplex aufbereitet und damit vor Jahren diese Datenbank angelegt, die die TU Graz heute nutzt. Die Kollegen von damals sind allerdings seit Jahren anderswo tätig und damit ist auch einiges an Know-how verloren gegangen.)

Über eine baldige Antwort und Tipps würde ich mich sehr freuen!

PS:

Es ist eine rein wissenschaftliche Arbeit und nicht für gewerbliche Zwecke gedacht.

MfG

F. Wechtitsch

Diese Daten kann man über overpass-turbo.eu relativ leicht aus den OSM-Datenbanken holen.
Eine Abfrage aller Gleise (Tag: railway = rail) im Südosten von AUT (Grazer Umland bis nach HUN) z.B. hier.

Vielen Dank liebes Mitglied JM82!

Dieser Hinweis war hervorragend. Es war quasi um einiges mehr als ich mir erwartet hatte. Ich konnte auf diese Weise alle Eisenbahnstrecken Österreichs sowie alle vorhandenen Informationen dazu als KML exportieren und anschließend mit Python zu für ArcGIS brauchbare Daten konvertieren.

Die TU Graz hatte tatsächlich schon ein rudimentäres digitales Netz für ArcGIS (eingleisig und nur die Hauptsrecken, quasi ein Strich in der Map. Ich konnte also einen zweiten Layer importieren auf Grundlage der openstreetmap Daten und habe so alle Eisenbahnstrecken Österreichs (zweigleisig, Verschübe, Betriebszufahrten, Brücken, Tunnel usw.) sichtbar.
Nach Überlagerung der Layer zeigte sich, dass die GIS Daten der TU Graz mit denen von openstreetmap weitestgehend sogar (gottseidank) deckend gleich sind.

Die Verheiratung der digitalen GIS-Map mit den TUG Messdatenbanken die in 25cm Abständen vorhanden sind (Zustand der Strecken, Schwellenart usw.) wird wahrscheinlich noch eine Herausforderung, aber ich bin zuversichtlich.

In diesem Sinne Dankeschön!

Liebe Mitglieder!

Das Projekt war für längere Zeit auf Eis gelegt, wird nun jedoch wieder aufgegriffen.

Momentan stecke ich bei der Umsetzung der Verheiratung der so extrahierten Daten (mittels overpass-turbo.eu) mit den Daten des Messwagens fest.

Ich habe z.B. alle vorhandenen Daten einer Gleisstrecke ausgelesen. Ein kleiner Abschnitt sieht dann wie folgt aus: (Es werden ein paar Koordinatenpunkte (nachfolgend Fett markiert definiert, durch die dann wohl eine Polylinie glegt wird und so den Streckenabschnitt bildlich darstellt)

{
“type”: “Feature”,
“properties”: {
@id”: “way/4258738”,
“bridge”: “yes”,
“electrified”: “contact_line”,
“frequency”: “16.7”,
“gauge”: “1435”,
“layer”: “1”,
“maxspeed”: “120”,
“name”: “Südbahn”,
“operator”: “ÖBB-Infrastruktur AG”,
“passenger_lines”: “2”,
“railway”: “rail”,
“railway:bidirectional”: “regular”,
“railway:pzb”: “yes”,
“railway:radio”: “gsm-r”,
“railway:track_class”: “D4”,
“railway:track_type”: “main”,
“railway:traffic_mode”: “mixed”,
“ref”: “105 01”,
“structure_gauge”: “GC”,
“usage”: “main”,
“voltage”: “15000”
},
“geometry”: {
“type”: “LineString”,
“coordinates”: [
[
15.3443535,
47.2018733
],
[
15.3443201,
47.2016451
],
[
15.3442574,
47.2013952
],
[
15.3441411,
47.2010228
],
[
15.3440774,
47.2008562
],
[
15.3439468,
47.2005217
],
[
15.3436689,
47.1999818
]

]
},
“id”: “way/4258738”
},

Mein Problem ist, die vorhandenen Daten vom Messwagen bieten entweder Koordinaten, die nur in etwa mit denen, die ich aus Openrailwaymaps ausgelesen habe (siehe darüber) übereinstimmen und daher ist diese Option nur schwer vorstellbar und die zweite Option wäre über eine Kilometrierung.
Sprich alle Daten vom Messwagen sind über ein Kilometrierungsband genau definiert: Bei Stelle 5,53450 (5km+534m+50cm) ist eine Schwelle verbaut, die gewisse Eigenschaften und einen gewissen Zustand hat.

Für mich wäre also notwendig mit den Daten, die ich bisher aus openrailwaysmaps ausgelesen habe, in eine kilometrierte Datenbasis zu verwandeln bzw. sie überhaupt so aus openrailwaymaps auszulesen. Entweder mithilfe der length() Funktion mit der alle Punkte zu einer Länge aufsummiert werden oder jeder Punkt bekommt einen Kilometrierungspunkt, sprich der Punkt “id”: 2364440949, “lat”: 47.5028854,“lon”: 15.4497977 befindet sich in einer Entfernung von 5,53450 (5km+534m+50cm) vom Anfangspunkt, wo auch immer dieser liegt.

Ich düftle selbst schon etwas herum, konnte jedoch noch zu keiner Lösung finden. Eventuell gibt es ja Tipps von Eurer Seite oder einen ganz anderen Weg um dieses Vorhaben zu verwirklichen.

MfG
F. Wechtitsch

Hallo,

haben mehrere aufeinander folgende 25cm-Segmente der Messdaten identische Start- und Endpunkte, d.h. kannst du sie anhand der Koordinaten miteinander zu einer langen Kette verknüpfen? Falls ja, tue das und nutze dann Map Matching um die entstehende Linie auf das Gleisnetz von OSM zu matchen.

https://www.graphhopper.com/blog/2016/08/08/releasing-the-map-matching-api/ erklärt grob, was Map Matching ist. GraphHopper sowie mein auf GraphHopper aufbauender Eisenbahnrouter OpenRailRouting (API-Dokumentation) unterstützt auch Map Matching. Eine öffentliche Instanz dieser API gibt es derzeit nicht, aber das Setup ist nicht allzu schwer.

Beim Map Matching kann versehentlich ein Matching auf das Gleis der Gegenrichtung erfolgen, wenn die Strecke zweigleisig ist. OpenRailRouting unterstützt momentan noch keine Tags, mit denen die übliche Fahrtrichtung angegeben wird. Bislang hat mir die Zeit gefehlt, das zu unterstützen, aber wenn jemand das geschäftlich nutzt und die Arbeit bezahlt, geht es schneller. :slight_smile:

Viele Grüße

Michael