PBFtoOSM - Windows

Moin Moin :slight_smile:

Anbei eine Grafik, die zeigt, wie ich das Fehlergebiet nach und nach eingegrenzt habe.
Da geht vielleicht noch mehr. Aber jetzt mach ich erst mal Schluß.

Für die Nicht-Composer-Kenner: Die Grafik wurde mit der Regionsübersicht in Nops Composer erstellt.

In diesem Bereich ist irgendetwas enthalten, das mir die Kartenberechnung des gesamten Gebietes runter gerissen hat, sobald es in einer Region enthalten war.
Beispiel Essen: Solange der Fehlerbereich im Kartenausschnitt enthalten war, funktionierte die Kartenerstellung nicht. Mkgmap erstellte eine von zwei *.img mit xyz KB und eine mit 0KB *.typ und *.tbl fehlten ganz. Als der Bereich ausgeklammert war, funktionierte die Erstellung der Essen-Karte.
Beispiel Ruhrgebiet (nicht abgebildet): Bevor ich die Zerlegung der Gebiete ausprobierte, dehnte ich die Essen-Karte auf das gesamte Ruhrgebiet + Soester Börde + Bergisches Land + Siegerland + Sauerland aus. Das ging schief.

Hier die Koordinaten:

Mit JOSM hab ich noch nicht versucht, das Fehlergebiet anzusehen.

Vielleicht mag ja jetzt jemand anderes das Gebiet genauer unter die Lupe nehmen.

P.S.
Es macht Spaß, wie flott pbftoosm die Daten ausschneidet.

Kann/Mag mir jemand erklären, wie man für pbftoosm eine eigene batchdatei schreibt, in der man mehrere Kartenausschnitte hintereinander zum Schneiden aufruft?

Eignet sich dafür der Notizblock aus Win-Zubehör ?
Wenn nicht, was dann?

Viele Grüße
tippeltappel

Leider will abload.de die Bilder nicht rausrücken :frowning:

@marqqs:
Ist bei pbftoosm ausgeschlossen, dass Wege mit einem oder null Knoten in die Ausgabe gelangen?
Oder Multipolygone ohne outer?

Ich verwende dafür notepad++.

Im Prinzip müsste es doch so funktionieren:


pbftoosm.exe -h=1000 < D:\Karten\osm\Geofabrik\Duesseldorf.osm.pbf -b=6.65,51.45,6.75,51.5 --drop-brokenrefs > bbox1.osm
pbftoosm.exe -h=1000 < D:\Karten\osm\Geofabrik\Duesseldorf.osm.pbf -b=6.75,51.45,6.85,51.5 --drop-brokenrefs > bbox2.osm

oder halt mit -i statt <.

gruß,
ajoessen

Geht mir genauso. :frowning:

Ich schließ besser mal gar nichts aus, weil ich nicht genau weiß, was du wissen willst. :slight_smile: Was meinst du mit “Nullknoten”? Also, eine Knotenreferenz in einem Weg auf einen Knoten, der außerhalb des Bereichs liegt und deshalb in der Datei nicht mehr enthalten ist? Das sollte ausgeschlossen sein durch die Option “–drop-brokenrefs”. Gleiches gilt für die Referenzen auf Polygone, die nicht mehr in der Datei enthalten sind.
In solchen Fällen bringt der Composer aber auch eine konkrete Fehlermeldung.

HALT: Ich bin noch nicht ganz wach. :slight_smile:
Wie komm ich auf “Nullknoten”? Ich sollte wieder ins Bett. Also, nochmal:
Nein, das ist nicht ausgeschlossen. Wege mit 0 Knoten sind ausgeschlossen, da sie ja definitionsgemäß nicht im ausgeschnittenen Gebiet liegen KÖNNEN. Aber Wege mit einem Einzelknoten kann es theoretisch geben.

Ja, bitte. :slight_smile: Sonst ist zu viel Schrott in der Ausgabedatei.

Hallo Zusammen
Ich hab die Bilder noch einmal hoch geladen.

Hoffentlich kommt Ihr jetzt dran.

Viele Grüße
tippeltappel

Meinjanur, weil ich im Kurztest auf Relationen mit 0 Elementen gestoßen war. Die Nachverarbeiter erwarten nun mal korrekte OSM-Daten.

Gruß,
ajoessen

Ja, nun sieht man was. Ne Lösung hab ich aber nicht parat.

Gruß,
ajoessen

Danke!
Das erste Bild deutet klar auf einen Fehler entweder IN pbftoosm oder evtl. in der Eingabedatei hin.
Verwendest du die Version 0.9 von pbftoosm? Bitte mal testen mit

pbftoosm -h

und dann die ersten Zeilen der Ausgabe anschauen (hochscrollen).
Aber eigentlich müsste ein solcher Fehler dann immer auftreten, also egal, welchen Ausschnitt du aus der Europa-Datei ausschneiden willst…

Der Fehler auf dem zweiten Bild ist eindeutig ein Folgefehler, weil ja die Ausgabedatei, die pbftoosm erzeugt hat, nicht vollständig ist.

@Marqqs
Die Europadatei habe ich nur ein einziges Mal für das Grenzgebiet Niederrhein ausprobiert.
Nach dieser Fehlermeldung habe ich dasselbe Gebiet noch einmal aus dem germany.osm.pbf ausgeschnitten.
Das funktionierte ohne Fehlermeldung.
Deshalb ist der Bereich in der Übersicht grün dargestellt.
Die Übersichtsgrafik bezieht sich ausschließlich auf Ausschnitte aus germany.osm.pbf.

Ja ich benutze pbftoosm V0.9 .

Prüf bitte mal die Größe der Europa-Datei. wie viele Bytes hat sie genau?
Falls sie vollständig zu sein scheint, werde ich das selber testen und der Sache auf den Grund gehen. Das dauert allerdings ein bisschen, weil ich heute tagsüber nicht mehr dazu komme. Bis dahin benutz bitte die germany.osm.pbf - oder vielleicht kriegst du Osmosis doch noch zum Laufen und kannst damit die Europa-Datei mal testen.

Es gäb noch ein weiteres Konvertierungsprogramm für PBF->OSM, aber das ist bis jetzt nur als Quellcode verfügbar, also nur unter Linux einfach einsetzbar. Außer, du wagst dich an MinGW und übersetzt solche Programme selber:
http://forum.openstreetmap.org/viewtopic.php?pid=162140#p162140

europe.osm.pbf - 5.981.195 KB

Das mit MinGW lasse ich lieber.

EDIT
Hab gerade ein neues europe-Download angeschmissen.

Das könnte den 5,7 GB entsprechen, die hier genannt sind:
http://download.geofabrik.de/osm/

Würde vermuten, dass die Datei ok ist, aber sicher bin ich natürlich nicht.
Ich werd sie heute Abend mal runterladen und schauen, was passiert. Investier nicht zu viel Zeit. Falls hier ein Fehler in pbftoosm die Ursache ist, kommst du nicht weiter. Dann besser versuchen, die Datei mit Osmosis auszuschneiden.

@ Marqqs
Osmosis bekomme ich nicht ans Laufen, weil es die Ausgabedatei nicht schreiben kann.
Keine Ahnung, warum.

@ ajoessen
notepad++
finde ich auf meinem Rechner nicht.

Aber etwas anderes gibt es da:
Windows PowerShell
http://de.wikipedia.org/wiki/Windows_PowerShell

und
Windows PowerShell ISE
http://technet.microsoft.com/de-de/library/dd367858%28WS.10%29.aspx

Mal sehen, ob ich da irgendwie einen Einstieg finde.

Türlich nicht. Aber hier:
http://notepad-plus-plus.org/

Da kann ich nix zu sagen.
Irgendwie sollte es aber doch möglich sein, die Schreibrechte für temp und Ausgabe hinzubekommen…

Gruß,m
ajoessen

Hallo Tippeltappel,

notepad++ muss man selbst installieren. Du kannst das schöne Programm hier finden: http://notepad-plus-plus.org/ Der Vorteil ist das es bei sehr vielen Sprachen bestimmte Befehle hervor hebt und so die Fehlersuche vereinfacht.
Für eine einfache Batchdatei reicht aber ein gewöhnlicher Texteditor. In die Batchdatei schreibst du nichts anderes rein als wie du es auf die Kommandozeile auch schreiben würdest. Eventuell musst du noch die Pfadangaben ergänzen, damit das Betriebssystem die Dateien auch findet.

Falls du keinen Editor suchen möchtest, kannst du im Explorer oder auf dem Desktop mit einem Rechtsklick einfach eine neue Textdatei anlegen. Diese kannst du dann in .bat umbenennen und mit Doppelklick ausführen. Für Inhalt sorgst du mit Rechtsklick und bearbeiten. Jetzt sollte sich der eingebaute Editor öffnen.

Ich denke nicht das es daran liegt, dass keine Schreibrechte vorhanden sind. Das Problem liegt wahrscheinlich am Betriebssystem selber. Denn hier werden die Pfade ganz merkwürdig verwaltet. Man findet zwar einen Ordner Anwendungsdaten, aber darin ist nichts enthalten. Vielmehr braucht man den Ordner Appdata. Und so ähnlich wird es auch mit dem Tempverzeichnis sein. Auch andere Programme wie Openoffice öffnen E-Mailanhänge die ins Tempverzeichnis gewandert sind, schreibgeschützt. Erst nach nochmaligem speichern (auch im Tempverzeichnis) werden die Dateien bearbeitbar.

Eventuell hilft es also die Umgebungsvariablen anzupassen oder Osmosis dazu zu überreden die Tempdatei in einem anderen Verzeichnis abzulegen und nicht auf die globalen variablen zurückzugreifen.

Hab noch was gebastelt …
Die in der Windows PowerShell ISE eingegebene Kommandozeile wurde verweigert.
Hatte keine Lust das zu dokumentieren und hab dann mit dem Texeditor einen Kommandoaufruf gespeichert.
Zuerst als *.bat
Im cmd-Fenster tauchte nach Aufruf der *bat eine 1 vor dem Namen der Ausgabedatei auf, was dann natürlich einen Fehler produzierte, weil es diesen Pfad nicht gibt.
Dieselbe Datei als *.exe abgespeichert führte dann zu einer Systemfehlermeldung (?).

Ich fürchte, mir bleibt nichts anderes übrig, als nächste Tage mal eine Festplatte mit XP aufzusetzen, damit geklärt werden kann, ob das, was ich da fabriziere total falsch oder einfach nur nicht Windows7-kompatibel ist.

Oder hat noch jemand eine Idee?

die 1 ist kein Problem. Warum springst du erst in das Verzeichnis? Für die bat doch gleich in dem Verzeichnis aus. :wink:

Ich springe per batch in das Verzeichnis, damit ich das nicht vorher von Hand aufrufen muß.
Beim ersten Aufruf der cmd-Box steht die grundsätzlich in C:\User\Name.
Außerdem will ich mir eine eigene Festplatte für den ganzen Kartenkrempel einrichten. Dann brauch ich nur noch den Laufwerksbuchstaben im Verzeichnisaufruf zu ändern und alles paßt.

Wenn die 1 kein Problem ist, wo hakt es dann?

Gruß tt

Ja, die 1 kommt auch bei mir unter XP. Ist irgendwie pbftoosm-spezifisch.
Mach doch mal zwei Zeilen draus:
cd c:\OSM_Rohdaten\pbf
pbftoosm.exe …

Ausserdem hast du jetzt eine odenwald-pbf2osm batch-datei, und eine Anwendung gleichen Namens. das kann nicht gut gehen.

Naja, und ob das Programm überhaupt in einem “16-bit MS-DOS Subsystem” läuft…

Gruß,
ajoessen

Startest du das über den Eintrag im Programm-menü?
Geh mal in der Menüzeile mit der rechten Maustaste auf Eigenschaften.
Bei mir steht da Ausführen in: %irgendwas.
Wenn du da E:\ einträgst, müsste cmd.exe auch dort starten.

gruß,
ajoessen