MapComposer und europe.osm.pbf

Hallo,
wollte heute wieder mal eine Karte meiner Region erstellen,.
Dazu das heutige (01-08-2011) europe.osm.pbf File von der Geofabrik geholt und mit MapComposer schneiden lassen.
Geht aber nicht das schneiden bricht ab mit Folgender Fehlermeldung.
osmosis call failed!
Der letzte Durchlauf der erfolgreich war ist der mit dem europe.osm.pbf File vom 05-07-2011 seither wollte kein anderes europe.osm.pbf File mehr gehen.
Wo liegt der Fehler hab ich wieder mal was übersehen.
Gruß Jörg

In der commands.log steht folgendes
01.08.2011 09:56:14 org.openstreetmap.osmosis.core.Osmosis run
INFO: Osmosis Version 0.39
01.08.2011 09:56:14 org.openstreetmap.osmosis.core.Osmosis run
INFO: Preparing pipeline.
01.08.2011 09:56:14 org.openstreetmap.osmosis.core.Osmosis run
INFO: Launching pipeline execution.
01.08.2011 09:56:14 org.openstreetmap.osmosis.core.Osmosis run
INFO: Pipeline executing, waiting for completion.
java.util.zip.DataFormatException: incorrect data check
at java.util.zip.Inflater.inflateBytes(Native Method)
at java.util.zip.Inflater.inflate(Unknown Source)
at java.util.zip.Inflater.inflate(Unknown Source)
at crosby.binary.file.FileBlockPosition.parseData(FileBlockPosition.java:57)
at crosby.binary.file.FileBlockHead.readContents(FileBlockHead.java:95)
at crosby.binary.file.FileBlock.process(FileBlock.java:135)
at crosby.binary.file.BlockInputStream.process(BlockInputStream.java:34)
at crosby.binary.osmosis.OsmosisReader.run(OsmosisReader.java:37)
at java.lang.Thread.run(Unknown Source)
01.08.2011 10:01:17 org.openstreetmap.osmosis.core.pipeline.common.ActiveTaskManager waitForCompletion
SCHWERWIEGEND: Thread for task 1-read-bin failed
java.lang.Error: java.util.zip.DataFormatException: incorrect data check
at crosby.binary.file.FileBlockPosition.parseData(FileBlockPosition.java:60)
at crosby.binary.file.FileBlockHead.readContents(FileBlockHead.java:95)
at crosby.binary.file.FileBlock.process(FileBlock.java:135)
at crosby.binary.file.BlockInputStream.process(BlockInputStream.java:34)
at crosby.binary.osmosis.OsmosisReader.run(OsmosisReader.java:37)
at java.lang.Thread.run(Unknown Source)
Caused by: java.util.zip.DataFormatException: incorrect data check
at java.util.zip.Inflater.inflateBytes(Native Method)
at java.util.zip.Inflater.inflate(Unknown Source)
at java.util.zip.Inflater.inflate(Unknown Source)
at crosby.binary.file.FileBlockPosition.parseData(FileBlockPosition.java:57)
… 5 more
01.08.2011 10:01:17 org.openstreetmap.osmosis.core.Osmosis main
SCHWERWIEGEND: Execution aborted.
org.openstreetmap.osmosis.core.OsmosisRuntimeException: One or more tasks failed.
at org.openstreetmap.osmosis.core.pipeline.common.Pipeline.waitForCompletion(Pipeline.java:146)
at org.openstreetmap.osmosis.core.Osmosis.run(Osmosis.java:92)
at org.openstreetmap.osmosis.core.Osmosis.main(Osmosis.java:37)

Hast du mal den Zuschnitt mit pbftoosm versucht?

gruß,
ajoessen

Also dort wird ZIP aufgerufen, ich denke mal der interne Osmosis Aufruf unterstützt derzeit nur .osm.bz2 Dateien (gepacktes OSM XML). Probiers am besten erst mal mit einem kleinen Bundesland.

Hallo,
@ajoessen ja hab das jetzt mal mit pbftoosm geschnitten
Das gleiche wenn ich dann die fertige osm Datei durch den MapComposer schicke kommt fast die selbe Fehlermeldung
java.nio.BufferUnderflowException
und nichts geht mehr.

@!i! kann nicht sein denn das europe.osm.pbf File vom 05-07-2011 hab ich ja auch geschnitten bekommen und ich hab auch nichts am Programm geändert.
Kleinere Sachen hauen hin Sachsen, Germany, Polen Tschechien aber ich brauche halt was Grenzüberschreitendes

Wenn ich die europe.osm.pbf manuell mit osmosis schneide kommt mit dem File vom 05-07-2011 eine Datei mit 2,97GB heraus wenn ich dann das europe.osm.pbf File vom 01-08-2011 schneide kommt eine Datei mit 2,48GB heraus die sich nicht weiterverarbeiten lässt.
Das selbe übrigens auch mit pbftoosm das alte File 2,97 das neue 2,48
Gruß Jörg
Osmosis Befehl
–rb europe.osm.pbf --bb bottom=50 left=12 top=52 right=17 clipIncompleteEntities=yes idTrackerType=BitSet --wx grosser_ausschnitt.osm

pbftoosm
pbftoosm.exe < europe.osm.pbf -b=12,50,17,52 > grosser_ausschnitt.osm

Für die Weiterverarbeitung mit MapComposer ist die Option --drop-brokenrefs notwendig.
http://wiki.openstreetmap.org/wiki/DE:Pbftoosm#Decodieren_von_.pbf-Dateien

Aber obs daran gelegen hat, weiß ich natürlich nicht…

Zu Osmosis:
Hier wär die Option “cascadingRelations=yes” sehr zu empfehlen, weil sonst beim Ausschneiden Relationen verloren gehen, die indirekt Knoten enthalten, die in der gewünschten Region liegen.

Hallo,
@Marqqs Danke für Deine Infos

Habe jetzt den pbftoosm Befehl ein wenig angepasst das macht die Datei schön klein und die Verarbeitung ist was schneller.
pbftoosm.exe -i=europe.osm.pbf -b=12,50,17,52 --drop-history --drop-brokenrefs > grosser_ausschnitt.osm

Aber richtig Erfolg hatte ich trotzdem erst nicht warum auch immer.
europe.osm.pbf vom 05.07.11 ok also ließ sich dann weiterverarbeiten
europe.osm.pbf vom 01.08.11 ging nicht
europe.osm.pbf vom 02.08.11 ging nicht
europe.osm.pbf vom 03.08.11 ok lässt sich im MapComposer weiterverarbeiten

Die File stammen immer von der Geofabrik.
Wie gesagt kein Schimmer wieso einige File sich verarbeiten lassen und andere wiederum nicht.
Gruß

Immerhin, schon ein Teilsieg. :slight_smile:

Ich hab selber so gut wie keine Erfahrung mit MapComposer, aber tippeltappel hat damit viel experimentiert. Der Thread ist zwar lang, aber es kann gut sein, dass du dort eine Lösung für das Problem findest - oder zumindest den Grund, warum es bei manchen Dateien geht und bei manchen nicht.
http://forum.openstreetmap.org/viewtopic.php?id=12419

Wenn ich mich recht erinnere, gibt es in MC irgendeine Größenbeschränkung, das heißt, du musst das Gebiet vielleicht nochmal zerteilen…

Das klingt danach, als ob die Datei irgendwie anders aufgebaut ist, als MC erwartet.

Kannst Du mal die ganze Exception posten, damit man erkennen kann bei welcher Operation das Problem auftritt?

Hast Du das Häkchen “schnell” bei Verarbeitung gesetzt? Falls ja, entfern das mal bei den problematischen Dateien.

bye
Nop

Hallo,
@Nop
vorweg muss ich erst mal schicken das ich das Problem schon des öfteren hatte manches europe.osm.pbf File geht andere wieder nicht. Deshalb versuche ich auch das gehende File immer aktuell zu halten aber so nach einen Monat sauge ich mir halt dann immer mal wieder ein neues europe.osm.pbf
Wenn ich dann das europe.osm.pbf direkt durch den MapComposer jage kommt diese lange Fehlermeldung aus dem ersten Posting, deshalb schneide ich vorweg das europe.osm.pbf File immer mit osmosis vor.

“F:\04 daly_updates\bin\osmosis.bat” --rb europe.osm.pbf --bb bottom=50.6 left=13.6 top=51.3 right=15.5 clipIncompleteEntities=yes idTrackerType=BitSet cascadingRelations=yes --wx zittauer_gebirge.osm

Diese zittauer_gebirge.osm Datei lasse ich dann im MapComposer verarbeiten dabei ist das Häkchen “schnell” bei Verarbeitung NICHT gesetzt.
So beim zittauer_gebirge.osm aus der europe.osm.pbf vom 01.08.11 kommt dann folgende Fehlermeldung in der commands.log steht nichts die ist leer.

Die zittauer_gebirge.osm aus der europe.osm.pbf vom 03.08.11 läuft dagegen durch und wird verarbeitet.
Hier stelle ich mal die zwei Daten online gepackt mit
“F:\04 daly_updates\bin\osmosis.bat” --rx zittauer_gebirge.osm --bb bottom=50.6 left=13.6 top=51.3 right=15.5 --wb omitmetadata=true zittauer_gebirge.osm.pbf
die fehlerhafte hier http://mtb.kilu.de/down/zittauer_gebirge.osm.pbf
die die geht hier http://altersachse.de/600-down/ausschnitt.osm.pbf
So ich hoffe das hilft ein wenig, mehr Ahnung hab ich dann doch nicht den Fehler aus den zwei Dateien zu finden.
Gruß, Jörg

Composer ruft ja als erstes Osmosis auf, um die Daten zu schneiden. Die Exceptions in Deinem ersten Post fliegen in Osmosis. In dessen Innereien kenne ich mich nicht aus, aber “java.util.zip.DataFormatException: incorrect data check” klingt nach korrupten Eingangsdaten.

Die Exception in Composer wird durch eine Schnellprüfung der Datei ausgelöst. Composer schaut vor der Verabeitung am Ende der Datei nach, ob die .osm Datei mit dem XML-Tag “” endet. Wenn das fehlt, ist die Datei unvollständig und kann nicht verarbeitet werden, das ist bei Dir der Fall.

Kurz gesagt: Die Europa-Datei scheint unvollständig oder korrupt zu sein. Osmosis erkennt den Fehler und wirft eine Exception, pbftoosm scheint da weniger mitteilungsfreudig zu sein und einfach abzubrechen.

Mein Server zieht sich alle 2 Tage eine Europadatei von der Geofabrik und verarbeitet sie genau auf die gleiche Weise. Dabei habe ich in den letzten Monaten keine defekten Dateien beobachtet. Von daher vermute ich, daß die Dateien höchstwahrscheinlich beim Download beschädigt wurden. Leider kenne ich keine Methode, die Integrität einer pbf-Datei zu prüfen. Vielleicht kannst Du einen Größenvergleich zwischen der Datei auf dem Server und Deiner heruntergeladenen Version machen, ob vielleicht was fehlt. Oder schau mal von Hand in Deine zittauer_gebirge.osm, mit welchen Tags sie endet.

bye
Nop

Hallo Nop,
Größenvergleich sagt nichts weiter aus
europe.osm.pbf vom 05.07.11 5,98GB
europe.osm.pbf vom 01.08.11 6,15GB
europe.osm.pbf vom 02.08.11 6,15GB
europe.osm.pbf vom 03.08.11 6,16GB
Da ja aber auch immer Daten bei OSM dazu kommen sehe ich das als OK an.
Aber das mit dem beschädigten Download könnte hin kommen hab mal im Editor nachgeschaut und das schließende fehlt egal ob mit osmosis oder pbftoosm gemacht.
Wenn ich so einen Download hole lass ich den Rechner schon in Frieden und mache nichts anderes aber scheinbar kommt es doch zu Fehlern bei diesen riesigen Dateien.
Schade das es nichts gibt um Fehler beim Download zu korrigieren.

Ideal wäre wenn man sich das Gebiet was man benötigt holen könnte, hab aber nirgends was gefunden wo man solche Grenzüberschreitenden (–bb bottom=50.6 left=13.6 top=51.3 right=15.5) Daten her bekommt für die Alpen wird ja noch was angeboten aber sonst? Zur Planung macht sich das halt besser wenn man alles auf einer Karte hat.
Danke trotz allem.
Gruß Jörg

Ich meinte eher Größenvergleich zwischen Deinem Download und der Dateigröße auf dem Geofabrik FTP Server, und zwar exakt auf Bytes, nicht gerundet auf GB. Dann würde man sehen, ob was fehlt.

Da gibt’s auch nix. Für einen API-Download ist das Gebiet einfach zu groß. Das Europafile ist schon der beste Weg dahin.

Wie lädst Du denn die Dateien runter? Läßt Du das Composer machen, nutzt Du einen Browser oder ein anderes Programm? Bei Filezilla bin ich öfters über verstümmelte Dateien gestolpert.

bye
Nop

Hallo
hmm Größenvergleich also ich hole von hier http://download.geofabrik.de/osm/ da steht nichts von Byte, bei mir selber könnte ich ja umstellen und nachschauen.
Ja API geht nicht mehr aber kleiner will ich das Gebiet auch nicht mehr machen.
Zum Download nutze ich nur Firefox mit AddOn Download Manager Tweak (DMT) http://dmextension.mozdev.org/
Gruß Jörg

Wenn nur eine Grenze dazwischen liegt, könntest du testhalber mal zwei solche Gebiete vereinen:
http://wiki.openstreetmap.org/wiki/DE:Osmconvert#Zwei_oder_mehr_geographische_Bereiche_zusammenf.C3.BChren

Wichtig ist dabei aber, dass die Daten aus der gleichen Ursprungsdatei stammen, also zum Beispiel von Geofabrik in der gleichen Nacht geschnitten wurden.

Hallo und Guten Morgen,
leider handelt es sich bei dem Ausschnitt um ein Dreiländereck D-PL-CZ
Hatte das mal mit Osmosis probiert und die drei Länder zusammengesetzt aber das sah zum Schluss fürchterlich aus denn es fehlten viele Landflächen im Grenzstreifen.
Gruß Jörg

Komisch. Normal würde man von einem Download-Manager eine Fehlermeldung erwarten anstatt korrupter Daten. Wechsel doch mal das Programm.

Composer hat auch eine eingebaute Downloadfunktion, aber wenn es Probleme mit Deiner Leitung gibt dürfte die auch nichts bringen.

Ich würde Dir empfehlen, es mal mit dem Kommandozeilen-Tool wget zu probieren. Da kriegst Du zumindest ausführliche Rückmeldungen auf der Konsole was er tut und ob es geklappt hat.

bye
Nop

Hi,

ich glaube, bei der Geofabrik hakts aktuell.

Gestern Mittag war das NRW-Extrakt vom 02.08, und das DE-Extrakt vom 03.08. Das Europaextrakt war nur in einem Format vom 04.08., alle nachfolgenden Dateien waren noch vom 03.08.
Heute sind dagegen alle Bundeslandextrakte als pbf schon frisch von heute, aber leider leer :frowning: Das dauert sonst bis in den Nachmittag.

Gruß,
ajoessen

Ja. Fred hat auf eine neue Technik umgestellt und die Kompressionsrate ist momentan noch etwas zu hoch. :slight_smile:

Hab ihm schon Bescheid gegeben. Aber heute ist ein schlechter Tag für Download-Experimente.

bye
Nop