Hallo, ich bin neu hier im OSM Forum und vielleicht könnt ihr mir bei meinem Problem helfen.
Eine kurze beschreibung was ich eigentlich machen will :
ich muss aus den exportieren OSM Dateien die Positionen von Tankstellen, MC,Bürgerking oder Kirchen rausholen.
Diese Informationen sind ja im diesem Format gespeichert:
Anhand dieser Informationen will ich eine neue OSM datei erstellen, die auf den Koordinaten der Tankstelle eine rechteckige Fläche (mit 4 Punkten) erstellt.
Diese soll dann z.B. das Tankstellen Gebäude representieren, das in einem 3D modellierungs Programmen anschliessend bearbeitet wird.
Problem:
Ich muss die neu erstellte Fläche bzw. die nötigen Punkte so ausrichten/berechnen, das sie sich nicht mit den umliegenden Strassen überschneiden.
Dafür muss ich die Koordinaten der Umliegenden Objekte rausfinden.
Frage:
Sind die OSM Daten so aufgebaut, dass die eingetragenen nodes und ihre nachbarn (oben/unten) immer neben einander liegen ?
also z.B wenn in dem OSM File so stehen würde
Tankstelle
Kann ich davon ausgehen das die einträge die drüber und drunter stehen die objekte sind die die geringste Entfernung zu meiner Tankstelle haben, also direkte Nachbarn ?
Wenn NEIN → Gibts es eine bekannte Möglichkeit rauszufinden , welche Knoten die unmittelbaren Nachbarn sind ?
Also da gibt es ein klares NEIN. Die IDs werden chronologisch fortlaufend so vergeben, wie sie eingetragen werden, unabhängig vom Raumbezug.
Den bekommst du nur, indem du dir die Ecke im Editor anschaust.
PHP kann die OSM-XML-Dateien sehr schnell im Stream parsen. Ansonsten solltest Du vielleicht mal eine eigene Datenbank im Blick behalten. So kannst Du via SQL-Abfragen einfach alles das rausselektieren, wie Du es brauchst.