ich würde gerne PBFtoOSM unter Windows64 nutzen. Leider habe ich keinen blassen Schimmer von C++ und wie ich den Source Code kompilieren kann. Ich habe zwar Visual Studio 2008, aber da haut es mir nur Fehlermeldungen um die Ohren…
Möglicherweise erbarmt sich ja jemand hier PBFtoOSM für Windows zu kompilieren und der Community die Binarys zur Verfügung zu stellen?
Hallo!
Von einem Profi weiß ich, dass man die Quelldatei relativ einfach mit MinGW übersetzen kann. Ich selber kanns leider nicht, habs jedenfalls noch nicht geschafft, das Programm unter Linux mit MinGW für Windows zu übersetzen. Aber wenn du selber MinGW installierst, sollte das klappen. http://de.wikipedia.org/wiki/MinGW http://komisar.gin.by/mingw/index.html (nimm die Version 4.6.0)
Oder es findet sich hier jemand, der sowas schon öfter gemacht hat…? Wär natürlich super.
Was willst du damit erreichen?! Ich denke PBF-Dateien in das XML-Format überführen?
Das geht auch mit Osmosis
Ich nutze hauptsächlich Ubuntu und Mac OS, aber da eine osmosis.bat existiert, sollte es auch unter Windows laufen. Dazu die pbf-Datein in das /bin-Verzeichnis kopieren und über die Kommandozeile aufrufen:
osmosis.bat --rb input.osm.pbf --wx output.osm
input ist dann die pbf-Datei und output die xml-Datei.
Kann sein, dass er auch hier mit “omitmetadata=true” rummeckert, ich ignoriere das immer, denn am Ende geht’s trotzdem.
Wenn es klappt, wäre eine positive Rückmeldung super.
Falls es bei Dir nicht läuft, Du einem fremden .exe-File nicht traust (was imho durchaus vernünftig ist) oder Du es aber selbst compilieren möchtest hier die Kurzanleitung:
Lade Dir die (meiner Meinung nach beste) MinGW-Distribution unter
Das ist ein selbstentpackendes 7z-File, also doppelklicken und auspacken nach “C:\MinGW”
Windows-Pfad um “C:\MinGW\bin” ergänzen wie unter http://nuwen.net/mingw.html#install beschrieben.
Für WinXP (deutsch) z.B. geht das so: Unter Start → Systemsteuerung → System → Erweitert → Umgebungsvaribalen → Systemvariablen → Path → Bearbeiten, dann ;C:\MinGW\bin hinten anhängen (Achtung: Strichpunkt nicht vergessen!), → OK → OK → OK
neue DOS-Box öffen (Start → Programme → Zubehör → Eingabeaufforderung)
Hab gerade gesehen, dass es ja schon einen ausführlichen Benchmarktest gibt. Gibt es das ganze auch noch als osm2pbf? Oder muss man dann doch noch über osmosis gehen? Ist ja schön und gut, wenn man ein Polygon schnell ausschneiden kann, aber ich will es ja nicht (unbedingt) als xml-Datei haben.
Ich schneide regelmäßig bestimmte Bereiche aus dem Planet File heraus, welche weder von Geofabrik noch Cloudmade verfügbar sind. Osmosis ist hier schon lange im Einsatz, im wahrsten Sinne der Wortes “waiting for execution…”
Ersteinmal vielen Dank für deine Mühe. Hier im Büro auf Win7 64 bekomme ich folgende Fehlermeldung:
Ich werde es zu hause nochmal versuchen, bzw den Anlauf starten es selbst zu Kompilieren. Mit deiner Anleitung klappt es bestimmt
Nach Anleitung (oben) lies sich PBFtoOSM sofort kompilieren (Win7 64)
Nur leider scheint es Probleme mit großen *.pbf Dateien zu geben. So ab 120MB bricht er mit unterschiedlichsten Fehlermeldungen ab. Kleine Dateien macht das Programm einwandfrei.
Linux kann ich grad nicht bieten, aber die aktuelle africa.osm.pbf läuft mit pbftoOsm auf XP 32bit ohne Murren durch, und erzeigt 3GB output. Liegt also wohl eher an den 64bit.
Mit der “africa.osm.pbf” vom **04.**05. bekomme ich sowohl unter Linux als auch unter WinXP die Fehlermeldung wie Du auch
WinXP:
pbftoosm Error: way user string index overflow: 41->4078064
pbftoosm: Number of bytes read: 100866130
Linux:
pbftoosm Error: way user string index overflow: 41->3086398973
pbftoosm: Number of bytes read: 100866130
Sie unterscheiden sich also nur in der Zahl hinter “41->”.
Mit dem zusätzlichen Parameter “–drop-his”
pbftoosm --drop-his < africa.osm.pbf > africa.osm
läuft es ohne Fehlermeldung durch.
Interessanterweise läuft auch die "africa.osm.pbf"vom **05.**05. ohne “–drop-his” fehlerfrei durch.
Ich tippe daher auf einen kleinen Bug in “pbftoosm.c” in der History-Auswertung…
Gut möglich. Aber ebenso möglich, dass beim Erstellen der .pbf-Datei ein Fehler passiert ist.
“way user string index overflow” bedeutet, dass ein String-Index enthalten ist, der größer ist als der Index des letzten Strings in der vorausgehenden Tabelle des Blocks. Ich hab einen solchen Fehler in der Datei schon einmal entdeckt, und zwar bei einem uid 0, also bei einem User-Namen, den es eigentlich nicht geben dürfte.
Aber falls ihr einen Programmfehler findet, wär das natürlich besser!
…oder das Programm hat noch einen Bug.
Falls dir wieder mal eine PBF-Datei über den Weg läuft, die dir Probleme macht (am besten nicht eine so riesige wie planet.osm.pbf), dann poste bitte den Link auf den Download. Danke!
Ja, stimmt. Aber mein Bauch sagt mir, daß es wahrscheinlicher ein Bug in “pbftoosm.c” ist ;).
Besser: Schicke noch zusätzlich eine Mail an den Autor von “pbftoosm.c” Markus Weber (markus.weber § gmx.com ← absichtlich verfremdet als Harvester-Schutz).