MapComposer-mkgmap call failed - ?

Hallo,

vielleicht könnt ihr mir Helfen?

Ich hab den MapComposer wie im Wiki beschrieben installiert (10GB Ram).
Bei kleinen Regionen Funktionierts, bei großen nicht :confused:

Anbei ein Command.log wo es läuft (kl. Region):
Region 10.8-11.4; 49.2-49.8
Planetfile bayern.osm

rem Cutting data with osmosis

java -Xmx10000M -cp C:\Users\ESG\Documents\MapComp\Tools\lib\default\osmosis-core-0.43.1.jar;C:\Users\ESG\Documents\MapComp\Tools\lib\default\commons-compress-1.4.1.jar;C:\Users\ESG\Documents\MapComp\Tools\lib\default\commons-logging-1.1.1.jar;C:\Users\ESG\Documents\MapComp\Tools\lib\default\jpf-1.5.jar;C:\Users\ESG\Documents\MapComp\Tools\lib\default\osmosis-areafilter-0.43.1.jar;C:\Users\ESG\Documents\MapComp\Tools\lib\default\osmosis-core-0.43.1.jar;C:\Users\ESG\Documents\MapComp\Tools\lib\default\osmosis-osm-binary-0.43.1.jar;C:\Users\ESG\Documents\MapComp\Tools\lib\default\osmosis-pbf-0.43.1.jar;C:\Users\ESG\Documents\MapComp\Tools\lib\default\osmosis-xml-0.43.1.jar;C:\Users\ESG\Documents\MapComp\Tools\lib\default\protobuf-java-2.4.1.jar org.openstreetmap.osmosis.core.Osmosis --read-bin file=C:\Users\ESG\Documents\MapComp\intermediate\bayern.osm.pbf --bounding-box bottom=49.2 left=10.8 top=49.8 right=11.4 clipIncompleteEntities=yes --write-pbf file=C:\Users\ESG\Documents\MapComp\input\NbgUmg_input.osm.pbf omitmetadata=true

Okt 31, 2018 1:37:23 PM org.openstreetmap.osmosis.core.Osmosis run
INFORMATION: Osmosis Version 0.43.1
Okt 31, 2018 1:37:23 PM org.openstreetmap.osmosis.core.Osmosis run
INFORMATION: Preparing pipeline.
Okt 31, 2018 1:37:23 PM org.openstreetmap.osmosis.core.Osmosis run
INFORMATION: Launching pipeline execution.
Okt 31, 2018 1:37:23 PM org.openstreetmap.osmosis.core.Osmosis run
INFORMATION: Pipeline executing, waiting for completion.
Okt 31, 2018 1:38:08 PM org.openstreetmap.osmosis.core.Osmosis run
INFORMATION: Pipeline complete.
Okt 31, 2018 1:38:08 PM org.openstreetmap.osmosis.core.Osmosis run
INFORMATION: Total execution time: 44366 milliseconds.

rem Existing contours are current: NbgUmg_00110_0490_5_10_contour.pbf

rem Existing contours are current: NbgUmg_00115_0490_5_10_contour.pbf

rem Build the garmin maps

java -Xmx10000M -jar C:\Users\ESG\Documents\MapComp\Tools\mkgmap.jar --tdbfile --preserve-element-order -c C:\Users\ESG\Documents\MapComp\data\osmc_options

rem Creating TYP file

java -Xmx10000M -jar C:\Users\ESG\Documents\MapComp\Tools\mkgmap.jar --family-id=21 C:\Users\ESG\Documents\MapComp\data\11210000.txt

rem Generating Garmin gmapsupp.img file Gesamt

rem Build the garmin maps

java -Xmx10000M -jar C:\Users\ESG\Documents\MapComp\Tools\mkgmap.jar --gmapsupp --family-name=NbgUmgK --series-name=NbgUmgK --family-id=21 --overview-mapname=11210000 --overview-mapnumber=11210000 --product-id=1 --description=“NbgUmgKarte” 11210001.img 11210002.img 11210000.typ

Anbei ein Command.log wo es nicht läuft (etwas größere Region):
Region 10.5-12.0; 48.5-50.0
Planetfile bayern.osm

rem Cutting data with osmosis

java -Xmx10000M -cp C:\Users\ESG\Documents\MapComp\Tools\lib\default\osmosis-core-0.43.1.jar;C:\Users\ESG\Documents\MapComp\Tools\lib\default\commons-compress-1.4.1.jar;C:\Users\ESG\Documents\MapComp\Tools\lib\default\commons-logging-1.1.1.jar;C:\Users\ESG\Documents\MapComp\Tools\lib\default\jpf-1.5.jar;C:\Users\ESG\Documents\MapComp\Tools\lib\default\osmosis-areafilter-0.43.1.jar;C:\Users\ESG\Documents\MapComp\Tools\lib\default\osmosis-core-0.43.1.jar;C:\Users\ESG\Documents\MapComp\Tools\lib\default\osmosis-osm-binary-0.43.1.jar;C:\Users\ESG\Documents\MapComp\Tools\lib\default\osmosis-pbf-0.43.1.jar;C:\Users\ESG\Documents\MapComp\Tools\lib\default\osmosis-xml-0.43.1.jar;C:\Users\ESG\Documents\MapComp\Tools\lib\default\protobuf-java-2.4.1.jar org.openstreetmap.osmosis.core.Osmosis --read-bin file=C:\Users\ESG\Documents\MapComp\intermediate\bayern.osm.pbf --bounding-box bottom=48.5 left=10.5 top=50.0 right=12.0 clipIncompleteEntities=yes --write-pbf file=C:\Users\ESG\Documents\MapComp\input\NbgUmg_input.osm.pbf omitmetadata=true

Okt 31, 2018 2:27:12 PM org.openstreetmap.osmosis.core.Osmosis run
INFORMATION: Osmosis Version 0.43.1
Okt 31, 2018 2:27:12 PM org.openstreetmap.osmosis.core.Osmosis run
INFORMATION: Preparing pipeline.
Okt 31, 2018 2:27:12 PM org.openstreetmap.osmosis.core.Osmosis run
INFORMATION: Launching pipeline execution.
Okt 31, 2018 2:27:12 PM org.openstreetmap.osmosis.core.Osmosis run
INFORMATION: Pipeline executing, waiting for completion.
Okt 31, 2018 2:28:08 PM org.openstreetmap.osmosis.core.Osmosis run
INFORMATION: Pipeline complete.
Okt 31, 2018 2:28:08 PM org.openstreetmap.osmosis.core.Osmosis run
INFORMATION: Total execution time: 56098 milliseconds.

rem Creating contour file NbgUmg_00110_0490_5_10_contour.pbf

rem Creating contour file NbgUmg_00115_0490_5_10_contour.pbf

rem Build the garmin maps

java -Xmx10000M -jar C:\Users\ESG\Documents\MapComp\Tools\mkgmap.jar --tdbfile --preserve-element-order -c C:\Users\ESG\Documents\MapComp\data\osmc_options

SCHWERWIEGEND (MapFailedException): C:\Users\ESG\Documents\MapComp\data\NbgUmg_00110_0490_5_10_garmin.pbf: (thrown in BufferedImgFileWriter.ensureSize()) There is not enough room in a single garmin map for all the input data. The .osm file should be split into smaller pieces first.

Würde mich um euere hilfe sehr freuen!

Viele Grüße
Flo

Moin.

Ich kenne zwar den Map-Composer nicht weiter, aber die Meldungen sehen so aus, als ob da versucht wird, eine Ein-Kachel-Garminkarte zu erstellen, und das geht nicht mehr, wenn die Kachel eine bestimmte Größe überschreiten würde.

Kuck mal hier: http://composer.waldpfa.de/index.php?n=MC.Troubleshooting , weiter unten, Abschnitt “mkgmap not enough room”.

Viele Grüße
Hartwig

Moin nochmal.

Um meine etwas kurzgefaßte Antwort von vorhin zu ergänzen:

Garmin-Karten bestehen, wie Du vielleicht weißt, aus Karten-Kacheln (tiles) – bei kleineren Gebieten reicht eine Kachel, bei größeren brauchst Du mehrere, damit sich Dein Garmin-Gerät nicht überfrißt.

Das Programm mkgmap, das die Garmin-Karte baut, erzeugt pro OSM-Daten-Datei, die man ihm vorsetzt, eine Kachel.
Das heißt, vor dem Bauen der Karte muß Dein bayern.osm in passende Portionen zerlegt werden.
Wie der Map-Composer das genau macht, weiß ich jetzt auch nicht, aber einen entsprechenden Link hatte ich ja schon geschickt.

Das Resultat ist dann ebenfalls ein gmapsupp.img, das aber dann eben mehrere Kacheln enthält (gmapsupp.img ist eine Archiv-Datei, in die die einzelnen Kacheln, das TYP-file und irgendwelches Adressen-Index-Zeugs gepackt werden. Mit dem richtigen Programm kann man die auch wieder auseinandernehmen.)

– Viel Erfolg!
/Hartwig

Die Erklärung von hca trifft es schon ganz gut. Composer teilt die Daten schon auf, aber in Deinem Fall sind trotzdem noch zu viele Daten in einem Kartenteil gelandet. Das kann zwei Ursachen haben:

  • es befinden sich besonders komplexe Strukturen in einem Teil der Karte, z.B. hatte ich das Problem mal mit einem mikrogemappten Stausee mit tausenden von Punkten - viel mehr als sinnvoll und zu erwarten
  • ich habe Hinweise gefunden, daß es auch in Zusammenhang mit Meeresflächen auftreten kann

Deine Karte sieht nach “Nürnberg umgebung” aus, können wir Meeresflächen ausschließen?

Fährst Du Composer mit Standardeinstellungen oder hast Du etwas an den Parametern verändert?

Abhilfe: Die Aufteilung der Daten wird von dem Parameter “maximale Objekte/Kachel” gesteuert, zu finden beim Editieren eines Jobs auf dem zweiten Reiter. Welchen Wert hast Du da stehen?
Du kannst einfach mal versuchen hier einen kleineren Wert einzugeben und nochmal neu zu bauen. Wichtig: Das Häkchen “Kachelaufteilung berechnen” auf dem ersten Reiter muß gesetzt sein.

Das hatte ich mal als Argument dagegen vorgebracht, bei Wald-Polygonen jedes Blatt zu umranden, und bekam zur Antwort, die Garmin-Dateien würden dadurch kaum größer, weil dort alle Linien zwecks Vereinfachung erst durch eine Kalman-Filterung geschickt werden. Oder war in deinem Stausee jedes Teichrosenblatt als inner erfasst, so dass Filterung nichts nützt, die zwar vereinfacht, aber keine Objekte entfernt?

–ks

furchtb.ar. Erinnert mich daran, gelegentlich entsetzli.ch zu reservieren.

–ks

Hey Nop,

geht um Nürnberg und umgebung!
Ich benutz die Standardkonfig.
Das Prog. wird mit 10G aufgerufen…
Nodecache 1000… Wie hoch kann ich den stellen?
Objekte/kachel 2000… Wie weit kann man das runterstellen und wie beinflusst dieser wert?
Konturnodes 100… denn hab ich auch nicht wirklich verstanden… was bewirkt der?

Danke für eure Antworten

Viele Grüße
Smiley

Da bist du auf dem falschen Pfade. Es ist kein Fehler im Ablauf von mkgmap, sondern ein Problem des Datenformates von Garmin.
Vor dem Aufruf vomn mkgmap mußt du mit “splitter” (gibt’s auf der gleichen Website wie mkgmap) die zu große Ausgangsdatei in kleinere Häppchen zerlegen. Dies sorgt dafür, daß die Datenmenge für die Garmin-“Kacheln” klein genug bleibt. Momentan erstellst du nur eine “Kachel”. mkgmap faßt am Schluß diese Kacheln in einer großen Datei namens gmapsupp.img zusammen.

Das ist eine halbseidene und stark vereinfachte Argumentation.

Es ist richtig, daß mkgamp einen solchen Filter enthält. Allerdings wird der von Parametern gesteuert, ob und wie stark er die Objekte vereinfacht. Man kann also nicht behaupten, es sei immer harmlos - hängt ganz von der individuellen Einstellung ab. Ebenso kann der Algorithmus, der die Daten für die Verarbeitung aufteilt - lange bevor mkgmap überhaupt das erste mal gestartet wird - nicht wissen, welche Einstellung mkgmap später verwenden werden wird.

Und ganz abgesehen davon blocken unnötig komplexe Objekte auch die Editoren. Ich kann mich an eine Ecke erinnern, die auf meheren Wanderwegen so etwa jeden Meter einen Punkt hatte und JOSM fast zum einfrieren gebracht haben (ja, damals habe ich noch JOSM benutzt :slight_smile:

Nürnberg sollte eigentlich keine Überraschungen enthalten - ist schließlich auch meine und Composer’s Heimatregion. :slight_smile:

Mit Nodecache mußt Du rumprobieren. Ich verwende Composer mit 20G und Nodecache 5000. Höhere Werte machen die Verarbeitung schneller, zu hohe Werte führen zu “Out of memory”.

Hm, Konturnodes werden eigentlich in der Anleitung erklärt: http://composer.waldpfa.de/index.php?n=MC.Karten. Hast Du die schon gelesen?

Weniger Objekte/Kachel erzeugt kleinere Teilbereiche mit weniger Zeug drin. Spiel einfach mal mit kleineren Werten.

Hallo,
leider habe ich das gleiche Problem:
LOG-Auszug:

...Updating record 82 in index Settings/nach Name
Updating record 82 in View Settings
Updating record 82 in View Settings
[b]mkgmap call failed![/b]
Generation finished
Saving table Settings
Updating record 3 in index Nummernkreise/nach Name
Updating record 3 in View Nummernkreise
Updating record 3 in View Nummernkreise
Saving table MapItem
Updating record 5 in index Nummernkreise/nach Name
Updating record 5 in View Nummernkreise
Updating record 5 in View Nummernkreise
Saving table IDManager

Auszug aus commands.log:

...

java -Xmx2200M -jar /home/mtbbiker99/11-extrem/Tools/mkgmap.jar --tdbfile --preserve-element-order -c /home/mtbbiker99/11-extrem/data/osmc_options 

SCHWERWIEGEND (MapFailedException): /home/mtbbiker99/11-extrem/data/extrem1_00059_0506_5_7_garmin.pbf: (thrown in BufferedImgFileWriter.ensureSize()) There is not enough room in a single garmin map for all the input data. The .osm file should be split into smaller pieces first.

Ich arbeitet jetzt Wochen mit den gleichen Einstellungen, nur die Planet-Datei (germany) wurde aktualisiert. Kurz vor der Fertigstellung bricht mkgmap ab. Der Hinweis mit dem Häkchen bei Kachelaufteilung berechnen, brachte leider nichts. Ein Gebiet von NRW hat sich dabei von 12 Teilen auf 41 erhöht, dennoch brachte mkgmap an der gleichen stelle ab. (ach so, Maximale Objekte/Kacheln habe ich dabei von 2000 auf 500 heruntergesenkt)

Map Composer läuft bei kleineren Gebieten, mit den gleichen Einstellungen (z.B. größe Ordnung vom Ruhrpott) ohne Probleme.

Was kann das nur sein?:frowning:

Das ist in der Tat erst mal sehr merkwürdig, bei mehr Kacheln mit weniger Objekten sollte eine solche Meldung natürlich weg gehen.

Ich kann mich vage an einen Fall vor Jahren mit einem superkomplexen Polygon eines Fjordes erinnern, das anscheinend allein schon die Kapazität sprengte.

Du könntest mal unter “Werkzeuge/Kartensegmente” das Segment aus der Fehlermeldung suchen und nachsehen ob Du eine auffällige Zahl bei “Dichte” findest oder verdächte Objekte auf einer Karte innerhalb dieser Koordinaten.

Danke für die schnelle Antwort.
Ja, die Menue-Leiste habe ich noch garnicht so beachtet… Leider kann ich mit den Daten
nicht viel Anfangen. Ich denke mal, dass ein hoher Wert unter Dichte nichts gutes zu
bedeuten hat, oder?

Die Karte ich ich Testweise “extrem1” genannte habe, beinhalten die originalen Icons,
da meine zum größten Teile größer sind. Brachte aber keinen Erfolg.


Kannst Du daraus etwas ableiten?

Das wären alle SCHWERWIEGENDe Seqmente, die map composer ausgibt:

SCHWERWIEGEND (MapFailedException): /home/mtbbiker99/11-extrem/data/extrem1_00059_0506_5_7_garmin.pbf: (thrown in BufferedImgFileWriter.ensureSize()) There is not enough room in a single garmin map for all the input data. The .osm file should be split into smaller pieces first.
SCHWERWIEGEND (MapFailedException): /home/mtbbiker99/11-extrem/data/extrem1_00059_0513_9_6_garmin.pbf: (thrown in BufferedImgFileWriter.ensureSize()) There is not enough room in a single garmin map for all the input data. The .osm file should be split into smaller pieces first.
SCHWERWIEGEND (MapFailedException): /home/mtbbiker99/11-extrem/data/extrem1_00064_0506_5_7_garmin.pbf: (thrown in BufferedImgFileWriter.ensureSize()) There is not enough room in a single garmin map for all the input data. The .osm file should be split into smaller pieces first.
SCHWERWIEGEND (MapFailedException): /home/mtbbiker99/11-extrem/data/extrem1_00068_0513_5_7_garmin.pbf: (thrown in BufferedImgFileWriter.ensureSize()) There is not enough room in a single garmin map for all the input data. The .osm file should be split into smaller pieces first.
SCHWERWIEGEND (MapFailedException): /home/mtbbiker99/11-extrem/data/extrem1_00069_0506_8_3_garmin.pbf: (thrown in BufferedImgFileWriter.ensureSize()) There is not enough room in a single garmin map for all the input data. The .osm file should be split into smaller pieces first.
SCHWERWIEGEND (MapFailedException): /home/mtbbiker99/11-extrem/data/extrem1_00069_0509_5_4_garmin.pbf: (thrown in BufferedImgFileWriter.ensureSize()) There is not enough room in a single garmin map for all the input data. The .osm file should be split into smaller pieces first.
SCHWERWIEGEND (MapFailedException): /home/mtbbiker99/11-extrem/data/extrem1_00073_0513_4_7_garmin.pbf: (thrown in BufferedImgFileWriter.ensureSize()) There is not enough room in a single garmin map for all the input data. The .osm file should be split into smaller pieces first.
SCHWERWIEGEND (MapFailedException): /home/mtbbiker99/11-extrem/data/extrem1_00086_0517_4_8_garmin.pbf: (thrown in BufferedImgFileWriter.ensureSize()) There is not enough room in a single garmin map for all the input data. The .osm file should be split into smaller pieces first.
SCHWERWIEGEND (MapFailedException): /home/mtbbiker99/11-extrem/data/extrem1_00087_0500_5_6_garmin.pbf: (thrown in BufferedImgFileWriter.ensureSize()) There is not enough room in a single garmin map for all the input data. The .osm file should be split into smaller pieces first.

Nein. Hast Du Dir mal die Gegend angesehen? Merkwürdige Objekte oder vielleicht extreme Höhenlinien?

Ja, dass sind große Gebiete. Habe mal Stichprobenartig geschaut. mir ist nichts merkwürdiges Aufgefallen.
Es sind zwar dort viele Eintragungen, aber nichts außergewöhnliches. zb Bei Koblenz sind viele Objekte, aber auch das
ist ja bei großen Städten normal.

Schau Dir mal bitte den Rhein / Mosel in Koblenz an, der ist strubbilig. Ein blöder multipolygon ist krum und schief…

Solche multipolygon -Fehler kenne ich eigentlich nur aus Schweden. Ich könne mir vorstellen dass *mkgmap *damit Probleme hat.
Oder, ist das überhaupt kein Fehler?

Siehe:
https://www.youtube.com/watch?v=mcVutzXUOgQ

Und was hast Du bei maximale Kontournodes (gleich drunter)?

Bin mir nicht sicher, ob die MP-Fehler vom Rhein mit deinem ursprünglichen Problem “There is not enough room in a single garmin map for all the input data. The .osm file should be split into smaller pieces first.” was zu tun haben. Die MP-Fehler sind zwar nicht schön, aber so was kommt schon mal vor (und sollte repariert werden. Ich schreib mal den Mapper an. Evtl. ist der Mapper auch nicht der Verursacher, sondern versucht zu reparieren.)


Kannst du mal eine betroffene pbf-Datei (z.B. /home/mtbbiker99/11-extrem/data/extrem1_00073_0513_4_7_garmin.pbf) irgendwie zum Download zur Verfügung stellen?