LAT/LON aus osm. Datei auslesen

Guten Abend allerseits,

ich studiere aktuell Wirtschaftsingenieurwesen-Elektrotechnik in Wuppertal und muss nun für ein Uni-Projekt die Buslinien Wuppertals analysieren. Diese sind glücklicherweise größtenteils bei OSM eingepflegt. Von jeder Buslinie ( 40 an der Zahl) brauche ich die LAT/LON Koordinaten der Haltestellen, um den Energiebedarf eines Elektrobusses auf einer Buslinie anhand der Topografie simulieren zu können.

Nun zu meiner Frage: https://www.openstreetmap.org/relation/165847#map=17/51.25355/7.14125 wenn ich die hierzu gehörige Datei exportiere, besteht im Anschluss die Möglichkeit die .osm Datei zu öffnen bzw nur die hinterlegten Koordinaten auszulesen?

Über Antworten wäre ich sehr dankbar.

Vielen Dank im Voraus und beste Grüße aus Wuppertal!

Nicht direkt aus der Relation, weil die keine georeferenzierten Elemente besitzt, sondern lediglich auf physische Objekte (die dann Koordinaten haben) referenziert und diesen eine Funktion („role“) zuweist.

Die osm-Datei der Relation ist normales XML. Am Anfang sind die Haltestellen aufgelistet, z.B. die erste hier:

<member type="node" ref="6074379554" role="stop"/>

Dass es eine Haltestelle ist, erkennst du am role=“stop”. Das „ref“ davor ist die Nummer des Nodes, also des „physischen“ Elements, das diese Funktion ausübt. Die musst du separat aus der Datenbank holen: https://www.openstreetmap.org/api/0.6/node/6074379554

Und dort findest du:

<node id="6074379554" visible="true" version="3" changeset="64857361" timestamp="2018-11-25T02:05:12Z" user="axelr" uid="1214027" lat="51.2553337" lon="7.1507947">

Und das sind deine Koordinaten.

Soweit zum Prinzip. Das willst du für 40 Linien sicher nicht von Hand machen, und ganz bestimmt lässt es sich automatisieren :slight_smile:

–ks

Brauchst du zwingend die Koordinaten der Haltestellen oder doch eher die Streckenlängen der gefahrenen Linien? Letztere kannst du sehr viel bequemer ermitteln, indem du aus den Relationen GPXe erzeugst (ich verwende dafür das Tool rel2gpx, sollte auf den gängigen Linux-Distris aufliegen). Tools zur GPX-Analyse sollten sich dann reichlich finden lassen, bei 40 Linien geht’s auch noch gut zu Fuß mit QMapShack oder so.

–ks

Vielen Dank für deine rasche Antwort, kreuzschnabel!

Genau, von Hand wäre das Ganze wohl eine Sisyphusarbeit, bei 40 Linien und ± 15 Haltestellen pro Linie. Hast du eine Idee zur Automatisierung?

Ich brauche insofern die Koordinaten der Haltestellen, damit ich im Anschluss die Linie so abbilden kann, dass ich Höhenmeter und Steigungen zwischen den einzelnen Haltestellen abbilden kann.

Hiermit kannst Du Dir schon mal “alle” Daten aus der OSM Datenbank extrahieren.
http://overpass-turbo.eu/s/INE

Sie lassen sich in verschiedenen Formaten exportieren.

Dann brauchst Du doch nicht nur die Haltestellen, sondern auch die Wege dazwischen sowie das Höhenprofil. Letzteres findert man nicht in OSM. Es gibt aber Tools, mit denen man recht leicht zu einem vorhandenen GPX-Track die Höheninformationen ermitteln kann.
Hier müsste man dann allerdings noch Tunnel und Brücken gesondert behandeln.
Ist aber auch dann viel Kaffesatzleserei. Siehe auch https://blog.gpsies.com/article/206/hoehenmeter-gpsies-sucht-die-wahrheit

Wie gut oder schlecht das gängige Höhenmodell der Welt ist, sieht man recht anschaulich, wenn man in Google Earth einen Track in einem bergigen Gelände “entlangfliegt”. Da liegen Brücken im Fluss und kleine Flüsse haben heftige Buckel im Flussbett. Gleiches gilt auch für große Straßen, die meist viel weniger uneben sind als berechnet.

Ich würde exemplarisch drei Strecken abfahren und alle Daten (Verlauf, Haltestellen, Höhen) aufzeichnen. Damit würde ich zunächst mal die Berechnungen anstellen. Anschließend kannst du versuchen die Ergebnisse auf die OSM-Daten zu übertragen.

Nachtrag: Empfehlungen bezüglich der Trackaufzeichnung: Fahrrad, 3 GPS-Geräte (um die Ergebnisse später mitteln zu können), Höhen via GPS + Luftdruck

Vielen Dank erst einmal für die zahlreichen, hilfreichen Antworten!

Super, dass verschafft mir schon einmal einen guten Überblick!

https://ibb.co/nQV4HQc

So stellt mir OSM ja die Routenverläufe dar, also als kontinuierlichen Routenverlauf.

Mein Analysetool arbeitet jedoch nur mit wertdiskreten Koordinatenverläufen. Das heißt ich brauche nicht den reelen Verlauf einer jeden Linie, sondern muss nur eine hinreichende Anzahl an Haltestellenkoordinaten einpflegen, um Energieverbräuche in Relation zu Streckenlänge, Steigung etc. zu setzen.

https://ibb.co/6sHz4nH

Vielen Dank, damit werde ich mich nun auseinander setzten! Danke auch an toc-rox!

Gruß aus dem Bergischen Land!

Ich will Euch ja nicht den Spass verderben, aber brouter-web kann das alles schon, einschliesslich der energetischen Analyse, Brücken und Tunnel und so weiter.

Einfach die Haltestellen in den “lonlats” Parameter von so einer URL eintragen:

http://brouter.de:443/brouter?lonlats=8.601825,50.12019|8.611999,50.126877|8.625865,50.12685|8.638872,50.12407&profile=car-eco&alternativeidx=0&format=geojson

und dann steht in der resultierenden JSON-Datein irgenwo “total-energy” (In Joule)

Wenn Du jetzt noch das “car-eco” Profil ersetzt duch eines, wo Du unter “kinematic parameters” (siehe http://brouter.de/brouter/profiles2/car-eco.brf ) Deinen Bus parametrisierst und die access-Logic bisschen ausweichst, so dass er auch über Bus-Spuren routet, dann stimmen die Zahlen sogar.

Dann einfach 40 Zahlen ausdrucken, und dann wieder das Studentenleben geniessen.

Wow, vielen vielen Dank Abrensch! Das sieht mir nach einem super Tool für meine Zwecke aus.

Wahnsinn was dieses Forum in der kürze der Zeit für Input liefert! Werde mich nun mit brouter auseinandersetzen.

Falls jemand noch mehr hilfreiche Tipps, Ideen, Anmerkungen hat, bin ich dafür natürlich immer noch dankbar!

Beste Grüße

Das brouter bei Tunneln brauchbare Höhendaten liefert, ist mir kürzlich auch aufgefallen. Prima! Vermutlich kann man einfach die Höhe bei Anfang und Ende mitteln. Aber wiie geht das bei Brücken? Da kommt es ja auch auf die Bauform an.

Ich würde bei Brücken zwischen Beginn und Ende linear interpolieren. Haut natürlich bei Brücken wie https://de.wikipedia.org/wiki/Br%C3%BCcke#/media/File:GreatBeltBridgeTRJ1.JPG daneben. Ich wüsste nicht, wie man das automagisch ableiten können sollte, außer wenn auf der Brücke irgendwo ele= -nodes getaggt sind.

Die meisten Brücken, die über Autobahnen führen, sind ein paar Meter höher als die Umgebung. Bei schiffbaren Flüssen dürfte das ebenso der Fall sein.

Achso, das meinst du. Ja, der Router müsste den Höhenwert am Beginn der Brücke und den Höhenwert am Ende der Brücke nehmen, und dann die Höhe der Straße zwischen Beginn und Ende (linear?) interpolieren und nicht aus dem Höhenmodell ziehen.
Das müsste automatisch gehen, und zwar technisch genau so wie bei Tunneln. Brücke und Tunnel unterscheidet sich ja für diesen Fall nur dadurch, das das Geländemodell “zu hoch” (Berg über Tunnel) oder “zu tief” (Tal unter Brücke) ist.

Jetzt dachte ich, ich teste mal hier (in Norwegen, Brücke an Tunnel dran), aber da gibts garkein Höhenmodell: http://brouter.de/brouter-web/#map=12/60.4715/6.9308/standard&lonlats=6.883278,60.467796|6.729405,60.552258&profile=car-fast

Auf der OpenTopo fangen die Höhenlinien auch erst etwas weiter westlich an:
https://opentopomap.org/#map=12/60.4864/6.9664

…so etwa haargenau bei 7° Länge. Wieso auch immer. Das SRTM bei 60° Nord endete hab ich mal gelesen, aber da sind wir ja bei 60.4, und daher dachte ich, es kommt von woanders… aber weiter im Norden (bei 7/61) finde ich bei OTM noch Höhenlinien. Merkwürdig da der Randbereich der SRTM-Abdeckung…

Daher habe ich ein anderes Testgebiet gefunden, http://brouter.de/brouter-web/#map=13/44.0900/3.0769/standard&lonlats=3.029265,44.109236|3.040327,44.055557&profile=car-fast , Höhenprofil über Brücke linear.

“Große Belt”-Brücke auch linear: http://brouter.de/brouter-web/#map=12/55.3125/11.0310/standard&lonlats=10.776912,55.333258|11.120519,55.348517&profile=car-fast .

Guten Abend allerseits,

ich habe nun alle Buslinien im GPX Format vorliegen. Mein Problem ist nun allerdings, dass die Höhendaten der einzelnen Punkte nicht wirklich genau sind. Brouter.de nutzt ja 30m-SRTM Höhendaten, welche von den Angaben des GEOviewer (vom geoportal.nrw) teils deutlich abweichen.

Meine Frage ist nun, ob ein Tool existiert, welches mir zu meinen GPX Dateien genauere Höhendaten generiert? Denn ob ein beladener Gelenkbus mit 18 Tonnen auf seiner Route 20 Höhenmeter mehr oder weniger zu bewältigen hat, spielt natürlich eine bedeutende Rolle in Hinblick auf den Energiebedarf.

Vielen Dank im Voraus!

Beste Grüße

Die Frage stellt sich nicht nach dem Tool, sondern nach der Quelle. Auf freier Basis wirst du kaum genauere DEM-Daten als SRTM bekommen.

–ks

Guten Abend kreuzschnabel,

ich bin auf dieses Tool gestoßen, welches nach eigener Auskunft “Höhenwerte von Europa (LIDAR, USGS_SRTMGL1, VFP)” nutzt.

http://peter.myds.me/HDS/index.html?Tipps%20und%20Tricks&http://peter.myds.me/HDS/Tipps_Tricks/GPS/GPXclean/GPXclean.html

Eine zu Testzwecken hochgeladene .gpx-Datei einer Busroute zeigt mir, dass die Höhenangaben nun jedenfalls deutlich näher an den Werten des GEOviewers sind.

Was hältst du davon?

Beste Grüße