Discussion:
[OSM-Bayern] Hilfe beim Auslesen von Daten aus OSM
Philipp Rief
2017-06-22 13:34:17 UTC
Permalink
Hallo zusammen,



ich versuche gerade selbst ein Navigationssystem zu programmieren, habe
jetzt aber das Problem, dass ich noch keinen Weg gefunden habe die
benötigten Daten aus OSM auszulesen.

Im Forum war ich bereits auf der Suche, konnte aber leider nichts finden das
mir weitergeholfen hätte. Deshalb wende ich mich nun an euch und hoffe auf
eure Hilfe.



Mein Plan wäre eine bereits bestehende auf OSM Daten aufbauende Karte zu
nehmen. Hier habe ich bisher lediglich mit JOSM gearbeitet, konnte aber die
nötige Funktion nicht finden dann auch gezielt Daten aus- / an andere
Programme weiterzugeben.

Ich arbeite mit Windows, was ebenfalls einige Möglichkeiten ausschließt oder
zumindest erschwert.



Nun aber zu meiner Frage und Problemstellung:

Ich würde gerne in einer (wenn möglich schon) bestehenden Karte zur
Wegdefinition eine Reihe von Mausklicks setzen und deren Koordinaten bzw.
Längen– und Breitengrade auslesen (bestenfalls in C/ C++) um mit hiermit
eine Trajektorie zu generieren die die Wegpunkte verbindet. Damit diese
Trajektorie auch befahrbar ist müsste ich die hierbei entstehende
Trajektorie noch einmal mit den nodes und ways der OSM Datenbank
vergleichen, diese Daten also entweder direkt mit ausgeben oder im
Nachhinein die Wegpunkte meiner Trajektorie wieder in der Karte
visualisieren und eine „Sichtprüfung“ machen.



Könnt ihr mir hierzu Tipps geben bezüglich eines dafür geeigneten
Programmes, einer Möglichkeit in JOSM oder generell Empfehlungen zu
Vorgehensweise?

Ich bin generell über jeden Tipp sehr dankbar!

Solltet ihr andere Plattformen kennen auf denen ich hierbei Hilfe erwarten
kann nehme ich diese Tipps ebenfalls gerne an. Im Forum kam bisher leider
noch keine Resonanz.



Auf jeden Fall vielen Dank euch schon im Voraus für eure Zeit!



Mit freundlichen Grüßen,

Philipp
Johannes Schlüter
2017-06-23 08:28:00 UTC
Permalink
Post by Philipp Rief
Ich würde gerne in einer (wenn möglich schon) bestehenden Karte zur
Wegdefinition eine Reihe von Mausklicks setzen und deren Koordinaten
bzw. Längen– und Breitengrade auslesen (bestenfalls in C/ C++) um mit
hiermit eine Trajektorie zu generieren die die Wegpunkte verbindet.
Damit diese Trajektorie auch befahrbar ist müsste ich die hierbei
entstehende Trajektorie noch einmal mit den nodes und ways der OSM
Datenbank vergleichen, diese Daten also entweder direkt mit ausgeben
oder im Nachhinein die Wegpunkte meiner Trajektorie wieder in der
Karte visualisieren und eine „Sichtprüfung“ machen.
 
Mir ist nicht ganz klar, was das genaue Ziel ist, was an der Route noch
berechnet werden soll, wenn man die eh zusammen klickt. 

Aber Grundsätzlich:

Die Daten sind zum download verfügbar. Die ganze Welt gibt es auf http:
//planet.openstreetmap.org/ über die "Export" Funktion von
openstreetmap.org bekommt man nen "kleinen" Ausschnitt, Anbieter wie ht
tps://mapzen.com/data/metro-extracts/ bieten gewisse Regionen an.

Das typische Datenformat nutzt Google protobuffer, siehe http://wiki.op
enstreetmap.org/wiki/PBF_Format, gibt auch XML und andere vormate, bei
größeren Mengen ist pbf aber das effizienteste.

Um damit zu arbeiten gibt es libraries, wie http://wiki.openstreetmap.o
rg/wiki/Osmium 

Um darüber ein Routing zu haben würde ich erst mal die Daten umformen
in ein Format, dass für den Zweck besser verwendbar ist (z.B. alle ways
mit highway tag extrahieren, in einen Graphen ablegen und Geo-Index
anlegen)

Als Inspiration kann http://wiki.openstreetmap.org/wiki/Open_Source_Rou
ting_Machine dienen.

Die einfachste Visualisierung bekommt man wohl, wenn man was
HTML/JavaScript mit http://leafletjs.com/ erzeugt, da bekommt man recht
einfach Markierungen auf ne Karte gemalt. Für eine "echte" Anwendung
will man aber womöglich nen nativeren Gui-layer (je nachdem was genau
man eigentlich vor hat).

johannes

Loading...