auch wenn es etwas spät ist, will ich meinen Senf anfügen. Zunächst: Die Idee mit einer vernünftigen Datenbank ist auf alle Fälle gut und sehr vernünftig. Trotzdem gibt es natürlich Alternativen für spezielle Fälle.
Mache ich häufig, klappt recht flott mit osmconvert und der Option “–all-to-nodes” (es werden dann sogar Relationen umgewandelt).
Bin zwar nicht Marqqs, aber ich denke, das hat durchaus Sinn dies als getrennte Programme zu haben.
1 osmconvert: Unterstützt sehr viele Formate, kann einfacher Filterungen.
2 osmfilter: Komplexe Filterungen, wenige Formate
3 osmupdate: Kann OSM-Datei per Diff aktuell halten.
Wenn man das alles in ein Programm packen wollte, würde ein komplexes, schwieriger zu wartendes Programm entstehen. Dann schlägt man sich als Anwender eventuell mit Problemen rum, die kaum etwas mit der eigenen Aufgabenstellung zu tun hat. Die Methode “Eine Aufgabe - ein Programm” hat schon ihre Vorzüge.
Danke, hätte es auch nicht besser schreiben können.
Ich glaub nicht, dass es einfacher geht. Außer, du nimmst Osmosis mit entsprechenden Plugins, dann tut es wahrscheinlich auch ein einziger Aufruf. Allerdings ist der dann eine Ecke komplizierter, und die Verarbeitung wahrscheinlich einiges langsamer als bei den einzelnen Programmen. Hat halt alles zwei Seiten.
Deine Reihenfolge ist ok. Bisher hab ich es aber immer so gemacht:
1 osmconvert, um die Daten ins .o5m-Format zu wandeln (idealerweise sind sie aber schon in diesem Format)
2 osmfilter um nach bestimmten Tags zu filtern
3 wieder osmconvert, diesmal mit –all-to-nodes und –out-csv
Mein Weg ist nicht einfacher, sondern einfach nur anders. Einfacher wirds nur, wenn du deine Eingangs-Daten generell im .o5m-Format hast und z.B. mit osmupdate aktualisierst, denn das unterstützt .o5m.
Da fällt mir gleich eine Frage ein:
Bedingt durch die Lizenzumstellung gibt es ja gelöschte Knoten, die keine Koordinaten haben. Sind deine Programme von dieser Änderung der Datenstruktur betroffen?
Oder anders gefragt:
Hast du in den Input-Daten überhaupt gelöschte Objekte? In einem Change-File könnte das ja durchaus vorkommen.
komme etwas spaet auf diesen Thread. Aber er ist sehr interessant. Dieselbe " Aufgabe " beschäftigt mich auch derzeit. OSM Poi in eine mysql DB zu bringen.
Das ist ja eine gute Nachricht - meinst du denn dass du das Script ggf. weitergeben würdest.