Was ist OSM2Network Dataset?
OSM2NetworkDataset ist ein frei verfügbares Java-basiertes Tool, das vor einigen Jahren von Eva Peters entwickelt wurde, um OpenStreetMap-Daten in Network Datasets für ArcMap zu konvertieren. Ihre Bachelor-Arbeit dazu findet ihr hier.
Das Tool kann man sich auf ArcGIS Online als ZIP-Archiv mit GUI- und Konsolen-Version sowie Parameter-Dateien für Auto- und Fahrradverkehr und ein Batchfile (siehe unten) herunterladen.
Problem: Das Tool wurde für ArcGIS 9.3 geschrieben, für Version 10.0 noch aktualisiert und danach nicht weiterentwickelt. Entsprechend liefert die GUI ohne Modifikationen für aktuelle ArcGIS Versionen keine sinnvollen Ergebnisse mehr, weil sie von falschen Pfaden ausgeht. In diesem Blogpost beschreibe ich die Anpassungen, die gemacht werden müssen, damit das Tool auch für ArcGIS 10.4 sinnvolle Ergebnisse liefert.
Aktualisierung von OSM2NetworkDataset mithilfe eines Batchfiles
Lösung: Ihr müsst ein kleines Batchfile (einfach im Texteditor eine neue Datei anlegen und mit der Endung *.bat speichern) schreiben, damit wird die GUI mit veränderten Pfaden gestartet. Entscheidend ist die Struktur des Batchfiles:
Bei mir sieht der Inhalt dieses Batchfiles mit JRE (Java Runtime Environment – muss installiert sein) 1.8.0 und ArcGIS 10.4 konkret wie folgt aus:
"C:\Program Files (x86)\Java\jre1.8.0_101\bin\java" -cp "C:\Program Files (x86)\ArcGIS\Desktop10.4\java\lib\arcobjects.jar";"C:\Program Files (x86)\osm2nds\osm2nds_arcgis_10.0_gui_1.1.1.jar" org.n52.osm2nds.core.userinterface.gui.Main "" C:\Users\jwi\Desktop\Parameters_Motorcar_v1.1.xml PAUSE
Wie oben beschrieben, besteht das Batchfile aus 2 Zeilen: einer Zeile mit allen Parametern (1. Pfad zu Java, 2. Pfad zur ArcObjects-JAR, 3. Pfad zur osm2nds-JAR, 4. Pfad zur Parameter-XML), und einer Zeile, in der einfach nur PAUSE steht. Parameter 4 zur Parameter-XML ist optional und kann weggelassen werden. In dem Fall muss das Parameter-XML dann in der GUI definiert werden.
Was mache ich mit dem Batchfile?
Einfach im Windows-Explorer doppelklicken und die GUI von OSM2NetworkDataset sollte starten:
Woher bekomme ich eine *.osm-Datei mit OpenStreetMap-Daten?
Auf OpenStreetMap könnt ihr auf die gewünschte Region zoomen und Export klicken. Dadurch wird eine *.osm-Datei (XML-Format) heruntergeladen.
Nachbearbeitung der OSM-Datei
Die heruntergeladene OSM-Datei muss für die Verwendung in OSM2NetworkDataset noch nachbearbeitet werden. In der Original *.osm-Datei, die man herunterlädt, befinden sich zahlreiche Attribute (copyright, attribution, license), die verhindern, dass die OSM-Datei in der Anwendung fehlerfrei konvertiert läuft.
Diese Attribute müssen in einem Text- oder XML-Editor aus der OSM-Datei herausgelöscht werden, so dass der <osm>-Tag in etwa wie folgt aussieht:
Was macht das Programm dann?
Wenn ihr die OSM-Datei nachbearbeitet und die Pfade zur OSM-Datei und der Parameter-XML in der GUI angegeben habt, müsst ihr nur noch angeben, in welchem lokalen Verzeichnis (Output directory) die neue Geodatabase (Region name) angelegt werden soll. Dann rechnet das Tool und im Idealfall erhaltet ihr die abschließende Erfolgsmeldung „No errors occured“.
Ihr erhaltet als Ergebnis ein lauffähiges MXD für ArcGIS mit einer [Region_name].gdb und einem [Region_name]_ND, das im Network Analyst zu Netzwerkanalysen weiterverarbeitet werden kann.
Jan Wilkening
Solution Engineer Education and Research