Straßenverläufe anhand der "Roh-Daten" nachvollziehen?

Hey Leute!

Ich bin gerade dabei eine Applikation in Java zu schreiben, in der ich unter anderem den Verlauf von Straßen (hauptsächlich Autobahnen und Bundesstraßen) nachvollziehen will…
Die OSM-Daten dafür liegen dabei auf einer lokalen Datenbank (MySQL), die ich mit meinem Programm anpreche. Wie schaffe ich es am besten, wenn ich z.B. die NodeID des ersten Knotens der ‘A 31’ weiß (bei Emden), alle Knoten der Reihenfolge nach bis zum Ende der Autobahn abzulaufen?

Gruß, Phillipp

Da bräuchtest doch die Komplette Relation der A31 und die dort drin verlinkten Nodes…
oder nicht?

jau das ist ne idee… ich hatte bisher gedacht, dass man anhander der Node-Listen innerhalb der Way-Einträge den Straßenverlauf herauskriegen kann (letzte Knoten Straße 1 = erste Knoten Straße2 etc.)… Hab mich bisher nicht um die Relationen gekümmert… das wird ja dann wohl mal zeit :wink:

Danke erstmal!

Relationen gibts aber nur von den großen Straßen (Kreis, Land, Bundesstraße & Autobahn). Ob das Flächendeckend so ist weiß ich auch nicht. Aber sobald du auch normale Ortsstraßen bearbeiten willst, kommst du wohl kaum um eine Auswertung der Way-Einträge drum rum.

also bisher arbeite ich eh nur mit autobahnen, das wäre also kein problem mit den relationen…

nur hab ich da ein anderes problem :frowning:
wenn ich jetzt zum beispiel am “anfang” der A 31 wäre (bei emden) und von dort aus die Autobahn bis zum ende nachverfolgen möchte, mach ich das bisher über die nodes… also ich suche mir anhand des letzten node der einen straße, die angrenzende straße und gehe halt so immer weiter. nur kommt an einer stelle eine Anschlussstelle (motorway_link). Das bedeutet, ich habe da 2 straßen, denen ich weiter folgen könnte. wie aber finde ich heraus, welcher der richtige ist? der eine führt nämlich auf die A 28 und der andere weiter auf die A 31.
Ich hatte schon die Idee in den Relations nach der WayID zu schauen, aber da sind auch nicht alle “motorway_links” aufgeführt.
hat wer ne idee?

Es gibt in JOSM ein Plugin names Waydownloader. Damit kann man ein Weg auswählen und sich den Weg bis zur nächsten Kreuzung runterladen. Das ist ja auch in Java geschrieben, vielleicht kannst Du das als Grundlage benutzen und es deinen Bedürfnissen anpassen. Ich selber kenne mich mit Java nicht aus, kann daher nur vermuten …
http://wiki.openstreetmap.org/wiki/JOSM/Plugins/WayDownloaderPlugin

Entweder du korrigierst die Relation, denn selbige sollte keine Lücken aufweisen. Oder du löst das Problem per Rekursion. Hast du eine Verzweigung, musst du alle Zweige abgrasen und abbrechen, wenn es unsinnig wird. Unsinnig ist es, wenn nach einem motorway_link ein motorway mit falschem ref-Tag kommt oder eben ein way, der nicht motorway oder motorway_link ist. Du solltest auch an den Fall denken, dass ein Abzweig an einem der mittleren Knoten in einem way beginnt!

Gruß

Plasmon