Als alter UNIX user hab ich mit dem Window cmd Fenster auch so meine Schwierigkeiten, ich nutze osmosis wie folgt.
In einem Batch File (das noch diverses anderes macht) steht drin:
rem ==========================
call …/tools/osmosis-0.35/bin/osmosis.bat --read-xml file=“xx.osm” --bounding-polygon file=“boundary_xx.poly” --write-xml file=“xx.osm”
pause
rem ==========================
Das schneidet aus xx.osm genau den durch boundary_xx.poly gegebenen Bereich aus und speichert in die Daten in xx.osm
pause am Ende von Batch Files ist immer gut, sonst verschwindet das schwarze Fenster im schwarzen Windows Loch, ohne dass man etwaige Fehlermeldungen lesen kann.
osmosis-0.35/bin/osmosis.bat ist original wie es mit osmosis-0.35 kam.
Das mit den “exakt ausgeschnittenen” und dann wieder zusammengeklebten Regionen ist trotzdem nicht so ganz ideal. Was, wenn z.B. ein Waldgebiet über die Grenze geht? Wenn man wirklich exakt schneiden will, muss man direkt an den beiden Schnittpunkten zwischen Waldpolygon und Grenze neue Punkte setzen und die dann ins Waldpolygon einbauen. Anderenfalls gibt es entweder eine kleine Überschneidung oder eine Lücke zwischen den unvollständigen Waldgebieten der verschiedenen Bundesländer.
Ich kenne kein Extrahierprogramm, dass hier neue Punkte setzt. Das heißt, du wirst letztlich mit der Überlappung leben müssen, ja sogar hoffen müssen, dass es Überlappungen gibt, dann ohne schauts noch seltsamer aus.
Thema Eifel
Wenigstens dabei kann ich dir helfen. Hab mich grad nach einer erstklassigen Anleitung (von User PA94) dran gemacht und eine Windows-Exe erstellt: http://wiki.openstreetmap.org/wiki/DE:Pbftoosm
Also das ist der Inhalt der Batch-Datei, die das Fenster wegblitzen läßt.
Und da muß irgendwo
pause
eingefügt werden?
@ECHO OFF
REM This is an equivalent Windows batch file to complement the unix shell script
REM Corresponding lines from the shell script are printed before the matching batch file commands
REM # Config files can define several variables used throughout this script.
REM # JAVACMD - The java command to launch osmosis.
REM # JAVACMD_OPTIONS - The options to append to the java command, typically used to modify jvm settings such as max memory.
REM # OSMOSIS_OPTIONS - The options to apply to all osmosis invocations, typically used to add plugins or make quiet operation the default.
REM if [ -f /etc/osmosis ] ; then
REM . /etc/osmosis
REM fi
IF EXIST “%ALLUSERSPROFILE%\osmosis.bat” CALL “%ALLUSERSPROFILE%\osmosis.bat”
REM if [ -f “$HOME/.osmosis” ] ; then
REM . “$HOME/.osmosis”
REM fi
IF EXIST “%USERPROFILE%\osmosis.bat” CALL “%USERPROFILE%\osmosis.bat”
REM if [ -z “$JAVACMD” ] ; then
REM # No JAVACMD provided in osmosis config files, therefore default to java
REM JAVACMD=java
REM fi
IF “%JAVACMD%”==“” set JAVACMD=java
REM Set “SAVEDIR” to the current directory
set SAVEDIR=%CD%
set MYAPP_HOME=%~dp0…
REM Now make the MYAPP_HOME path absolute
cd /D %MYAPP_HOME%
set MYAPP_HOME=%CD%
REM Change back to the original directory
cd /D %SAVEDIR%
set MAINCLASS=org.codehaus.classworlds.Launcher
set PLEXUS_CP=%MYAPP_HOME%\lib\default\plexus-classworlds-2.2.2.jar
SET EXEC=%JAVACMD% %JAVACMD_OPTIONS% -cp “%PLEXUS_CP%” -Dapp.home=“%MYAPP_HOME%” -Dclassworlds.conf=“%MYAPP_HOME%\config\plexus.conf” %MAINCLASS% %OSMOSIS_OPTIONS% %*
Das bleibt abzuwarten und auszuprobieren. Wenn unter einem riesigen Waldpolygon sämtliche Wege verschwinden, sieht das nicht nur noch seltsamer aus, sondern die Karte ist völlig unbrauchbar.
Prima, habe ich gerade herunter geladen.
Wenn ich damit klar komme, kann ich dann zumindest mal die pbf-Dateien entpacken.
Ob ich damit weiter komme, wird sich dann zeigen.
Das setzt doch dann wieder voraus, daß ich ein Europafile zerschneide. Oder?
Hmmmm - - -
Probiere ich - - - hab allerdings im Moment noch keine Idee wie.
Wenn das mein Rechner packt, hab ich ja zumindest mal die Möglichkeit, mir rechteckige Teile zu schneiden.
Und wenn ich auf diese Weise ein Europafile zerlegen kann …
W E N N !
Das ist halt noch die Frage, ob das klappt.
Also, wenn das klappt, kommen dann auch kombinierbare Teilstücke heraus.
Prima
Hat funktioniert.
Jetzt “steht” das Fenster und sagt:
drücken sie eine beliebige Taste
So und jetzt?
Muß ich da jetzt einen Befehl eingeben?
Könnte ich einen benötigten Befehl für eine bestimmte Aufgabe auch direkt in die batch-Datei eingeben?
Dann speicher ich die batch-Datei (ist ja nichts anderes als eine Stapelverarbeitungsdatei oder? ) unter neuem Namen ab und kann die dann für den bestimmten Zweck immer wieder benutzten.
Muss klappen, und wie schon geschrieben, keine Angst, pbftoosm braucht recht wenig Speicherplatz - und zwar unabhängig davon, wie groß die zu zerlegende Datei ist.
Nochmal zu Osmosis: Das ist DAS Standard-Programm schlechthin. Es kann fast alles, was man für OSM-Datenmanipulationen braucht. Für so simple Sachen wie PBF->OSM oder das Ausschneiden wäre es aber nicht meine erste Wahl, es ist vergleichsweise langsam. Aber - das ist sicher auch eine Glaubensfrage.
Dein Bat- Code sieht meinem osmosis.bat ziemlich ähnlich, bei mir sind noch ein paar mehr Kommentare drin.
Du musst diesen Batch Code mit Parametern versorgen, wie z.B.
Schreibe diese beiden Zeilen ( mit den richtigen Übergabeparametern und Speicherort von osmosis.bat ) in ein File mybat.bat. Nach Doppelklick geht ein schwarzes Fenster auf, osmosis läuft
und Du bekommst zumindest Fehlermeldungen.
Unter “Alle Programme” / “Zubehör” findest Due die Eingabeaufforderung. Da geht ein schwarzes Fenster auf, wo Du alle Befehle eintippen kannst.
Also z:B. ./pbftoosm < norway.osm.pbf > norway.osm
Geht natürlich nur, wenn Du mit cd ( change directory) zu richtigen Verzeichnis gegangen bist.
Hmmmmm - - - Posting 29 bis 31 krieg ich jetzt nicht sortiert - - -
Also mal langsam.
Mit pbftoosm könnte ich eventuell ein großes File zerlegen.
Wie das funktioniert, probiere ich aber erst einmal an einem kleinen, damit es nicht so lange dauert.
Außerdem kann ich pbf-Dateien in osm-Dateien wandeln, damit Composer daraus eine Karte bauen kann.
Schritt 1 pbf in osm wandeln klappt nicht, weil ich beim Aufruf der Anwendung pbftoosm irgendetwas falsch mache.
Mit dem ./ kann Windows nichts anfangen, also bitte weglassen. Nehmen wir mal an, dass du das Programm pbftoosm.exe ins gleiche Verzeichnis geschoben hast, in dem auch deine Daten sind. Dann könnte der Befehl z.B. so aussehen:
Vorsicht:
Habe gerade mal versucht, mit pbftoosm meine Heimatgemeinde aus baden-wuerttemberg.osm.pbf zu schneiden.
Das Poly File verwende ich seit Monaten mit osmosis.
pbftoosm läuft ohne Fehlermeldung durch, das Ergbebnis, angeschaut mit JOSM ist katastrophal:
die Hälfe fehlt, der Rest ist geteilt und gegeneinander verschoben.
Vielen Dank Euch!
In der Eingabeaufforderung hab ich den Zugriff nur im Laufwerk C geschafft.
Sobald ich versuchte in Laufwerk E zu wechseln sprang die Kommandozeile immer wieder nach C zurück oder spuckte den Hinweis aus … nicht gefunden.
Also hab ich das Verzeichnis in C:.….… eingerichtet und dort dann eine einfache Umwandlung erzeugen können
Wäre mir aber schon ganz lieb, wenn ich in mein “Kartenlaufwerk” wechseln könnte.
Wie sieht die Eingabe da genau aus. Ich hab’s anscheinend vergessen.
Den Extrakt-Befehl muß ich mir für Morgen verwahren.
Muß erst mal ein Europafile herunter laden.
Das alte hab ich kürzlich von der Platte geschmissen.
Die gesamte Befehlskette lautet dann:
C:\ cd E:\OSM\pbf2osm pbftoosm.exe -i=europe.osm.pbf -b=5.7,49.6,7.7,51.0 --drop-brokenrefs >eifel.osm
Ist das so richtig? Oder fehlt da noch ein Schrägstrich?
C:\ cd E:\OSM\pbf2osm\pbftoosm.exe -i=europe.osm.pbf -b=5.7,49.6,7.7,51.0 --drop-brokenrefs >eifel.osm
Oder trenne ich Laufwerkswechsel, Verzeichniswechsel und Befehlseingabe?