DXF in JOSM einlesen
Aus beruflichen Gründen wollte/musste ich eine Zeichnung aus AutoCAD in OpenStreetMap-Karten einbinden. Ich will dazu mal kurz meinen Lösungsweg beschreiben, wie ich das für mich in einer passablen Genauigkeit/Nutzbarkeit erreicht habe…
Vorarbeiten im CAD-Programm
Erstmal muss man die CAD-Zeichnung (in meinem Fall aus AutoCAD) als DXF exportieren. Ich bin gleich auf Version 2000 runter gegangen um größtmögliche Kompatibilität zu erreichen.
Bei der Datei sollte man darauf achten, dass nur (Poly-)Linien unterstütz werden. Kreise z. B. werden bei der späteren Umwandlung einfach ignoriert. Da sollte man also die Zeichnung falls nötig anpassen und Kreise als Vieleck-Polylinie umwandeln.
DXF zu GPX konvertieren
Für die Umwandlung benötigt man das Programm dxf2gpx. Darin kann man einfach die Quelldatei und das Zielverzeichnis auswählen und dann die Datei umwandeln lassen.
Ich weiß nicht, ob es an meiner Datei lag oder das Programm einen Fehler hat, ich konnte jedenfalls nicht direkt in OSM umwandeln sondern musste GPX verwenden.
GPX-Datei in JOSM öffnen/bearbeiten
Als nächstes läd man sich die erstellte GPX-Datei in JOSM und holt sich danach ggf. auch gleich noch die OSM-Daten vom Server oder Luftbilder (z. B. von BING) zur Lagekontrolle.
Nun kann es sein, dass die CAD-Zeichnung in Lage/Projektion nicht in die OSM-Daten passt, je nachdem welches Ursprungsformat man hatte. Die Projektion muss man sich dann ggf. in den JOSM-Einstellungen umstellen (Standard ist Mercator).
Um die Lage der eingelesenen Daten zu korrigieren, kann man die GPX-Ebene per Maus-Rechtsklick in eine Datenebene umwandeln und sie dann ganz normal verschieben. Wer will/muss, kann sie danach auch wieder in eine GPX-Ebene umwandeln.
Die Verschiebung habe ich einfach Freihand über Passpunkte/-objekte gemacht, die jeweils in meiner Zeichnung und den OSM-Daten/Luftbildern vorhanden sind. Das ist zwar nicht auf den Millimeter genau, sollte aber in den wenigsten Fällen eine Rolle spielen.
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt