Frage zu OSM Composer

Hallo zusammen,

ich bin OSM-Neuling und versuche mich seit einigen Tagen an dem Tool “OSM-Composer”.
Hab die neueste Version V0.81 mit dem Starthilfe-Set installiert und das Beispiel hat auch gleich funktioniert.

Beim Versuch nun eine eigene (Südskandinavien-)Karte zu erstellen stosse ich doch auf ein paar Schwierigkeiten/Fragen.

Wäre schön, wenn mir jemand den ein oder anderen Tipp gegen könnte.

  1. Bei Einstellung Datenquelle = “Ausschnitt aus Planet Datei” kommt im Log stets “osmosis call failed”. Dann gehts nicht weiter.
    Was mache ich da falsch?

  2. Bei „Download vom API server“ kommt im Log-Ausschnitt z.B.:
    “Downloading http://api.openstreetmap.org/api/0.6/map?bbox=7.000000000000002,59.80000000000001,7.2,60.0 java.nio.BufferUnderflowException
    Newer input file detected”
    Die Karte wird erstellt, ist aber erst mal in Basemap (neues Mapsource) nicht sichtbar.
    In MapsetToolkit unter “Check Registry” steht:
    ID: OK 14848
    Typ: FID not matches with TDB file 8002
    TDB: FID not matches with ID key 8002

Die FID geb ich ja vor. Wo kann ich die 14848 einstellen? Ändere ich die FID auch auf 14848 habe ich spätestens bei der nächsten Karte das Problem.

  1. Beim Neuinstallieren über MapsetTookit ist die Karte zwar in Basemap sichtbar, scheint mir aber im oberen Bereich nicht vollständig.
    Hat das mit dem BufferUnderflowException zu tun?

  2. Die gewünschte Karte am Stück bekommen ich gar nicht durch (trotz mehrerer Stunden Laufzeit).
    Wenn ich mehrere Teilkarten erstelle, mit zusammenpassenden Randkoordinaten, kann ich die dann wieder irgendwie zu Einer zusammenführen?
    Die Tracks bleiben ja nicht immer auf einem Ausschnitt.
    Ich hab versucht, mit MapsetToolkit aus den IMG-Dateien zweier Teilkarten ein neues Mapset zu erstellen. Aber was gebe ich als Overview Map an?
    Und es kommt immer „Convert failed – Check the log file (MSTK¬_OSMC NOK23.log)". Das genannte File ist auf meiner Platte nicht vorhanden.

Gruß und schon mal Danke,
Jürgen

Hallo Jürgen,

ich würde dir raten, mal mit etwas kleineren Karten zu beginnen.

Mit dem Composer werden 2 Beispielgebiete mitinstalliert. Kannst du diese beiden erfolgreich erzeugen? Das sollte mit der Defaulteinstellung eigentlich gehen.
Dann habe ich angefangen, einen Wien-Plan zu erstellen (nur das Stadtgebiet selbst), dann Wien-Umgebung und zuletzt Ost-Österreich.
So habe ich mich langsam zu immer größeren Gebieten vorgetastet.
Als nächstes möchte ich den Composer mit MySQL koppeln, um auch ganz Österreich als Karte zu erzeugen.
Ich hoffe, diese Tipps helfen dir vorerst mal weiter.

Walter

Hi!

Erst mal ist es ein gutes Zeichen, daß die Beispielkarten funktioniert haben. :slight_smile:

Führe den Versuch noch einmal durch und schau danach in die Datei commands.log. Da siehst Du den Aufruf und evtl. genauere Fehlermeldungen. Wenn Dir nix auffällt, poste sie mal.

Das klingt nach einem Problem, das in der nächsten Version gefixt sein wird. Wenn beim Einspielen der Daten bereits ein Problem aufgetreten ist, ist es wahrscheinlich daß die Karte leer ist oder Löcher zeigt. Welchen Bereich versuchst Du denn insgesamt herunterzuladen?

Grundsätzlich würde ich Dir auch raten, mit kleinen Karten anzufangen und sie allmählich zu vergrößern. Für die Datenmengen, mit denen Du anscheinend arbeiten willst, sind Planetfiles deutlich günstiger, der API-Download dauert dafür ewig. Man kann Karten auch aus Einzelregionen zusammensetzen, dann entstehen aber momentan Artefakte an den Schnittkanten, weil Osmosis einen destruktiven Schneidealgorithmus verwendet.

bye
Nop

Hallo,
also ich hab jetzt nichts weiter zu „Insterman“ seinen Problem zu sagen aber ist es auch möglich eine Karte aus mehreren OSM Fils zu erzeugen.
Also bis jetzt mache ich das auch immer über API (14.0-15.3//50.6-51.3) aber das dauert halt immer, aber ich habe auch die drei OSM Daten von GEOFABRIK zur Verfügung, Sachsen; CS und PL.
Kann man den Composer so einstellen das er aus diesen drei Dateien diesen Bereich generiert, hab das schon mal versucht aber bin gescheitert, weil man unter Region ja immer nur eine Lokale Datei auswählen kann. Oder hab ich was übersehen.
Danke und Gruß Jörg

Hallo Jörg,

imComposer kannst du nur 2 osm-Dateien zusammenbringen, wobei ich mir nicht sicher bin, ob diese gemerged werden oder nicht. Ich hab den verdacht, dass sie einfach nur hintereinander in den Splitter geschickt werden und die zweite Datei nicht zurechtgeschnitten wird. (@Nop: Könntest du mich und auch die anderen darüber aufklären?)

Ansonsten kannst du natürlich die Planetfiles mit osmosis zu mergen. Ist auf der wiki-Seite von osmosis erklärt, wie man es machen muss. Bei Problemen findest du hier auch Hilfe…Ich hab leider meine Aufrufe erst wieder am WE greifbar.

@Nop: DAzu gleich noch eine Frage: Wenn du auf Osmosis 0.33 umsteigst, steigst du doch auch auf API0.6 um, oder?

Nein. Du mußt den Bereich dann aus dem Europa-File ausschneiden.

Es ist nicht möglich, mehrere Planetfiles wieder zusammenzusetzen, da sie bereits beim Erzeugen durch Osmosis entlang der Schnittkanten beschädigt wurden. Man hat dann immer erkennbare Artefakte entlang der Schnittlinien.

bye
Nop

Die Daten aus der 2. Datei werden genauso behandelt wie die übrigen auch, also auch geschnitten. Das ist aber für Overlays wie Seepolygone gedacht, nicht für ganze Planetfiles.

Verstehe die Frage nicht. Die Umstellung auf API0.6 war Mitte 2009.

bye
Nop

Meines Wissens spuckt Osmosis 0.29, welches der Composer bisher verwendet hat die osm-Datei als 0.5 aus. Zumindest zeigte mir jOSM und auch neuere Osmosis-Versionen an, dass es sich um 0.5 handelte und nicht um 0.6. Wenn du jetzt osmosis 0.33 nutzt, könnte es Probleme geben mit OSM-Dateien, die mit osmosis 0.29 behandelt wurden. Sprich man müsste alle Daten einmal neu erstellen lassen. Daher die Nachfrage, bzw. der Hinweis.

Es gibt doch auch die Möglichkeit, von der API Änderungsfiles (je Tag oder auch je Stunde) herunterzuladen.
Wäre es damit möglich, dass ich einmal das gesamte Europa Planetfile über Nacht lade und dann für die letzten Tage nur die Änderungen?
Wenn ja, wie kann ich diese Files dann zusammen an den Composer schicken?

Der Composer ist standardmäßig auf den Download von http://api.openstreetmap.org/ eingestellt.
Ich habe das bei mir auf http://www.informationfreeway.org/ geändert und komme damit besser klar. (keine Abbrüche beim Download mehr)

Walter

Ach so. Diese Versionsangabe ist irrelevant. Die Daten gehen nie wieder über die API und Composer, mkgmap, Kosmos usw. interessieren sich nicht dafür. Aber da steht in Zukunft 0.6.

bye
Nop

Du mußt ein Programm finden, daß Dir die Diffs in Deinen lokalen Datenbestand wieder integriert und die Datei ganz normal an Composer übergibt, wie einen Download. Keine Ahnung ob es so ein Programm gibt.

bye
Nop

Hallo und Guten Morgen an Euch alle,
Danke für die Infos.
Also war ich doch nicht ganz so auf den falschen Dampfer, muss ich halt die Karte weiter über API erstellen.
Die EU Karte ist ein wenig zu groß und dauert somit länger als der API Download.
Werde mal die URL von “Walter” probieren.

** Nop mach weiter so, ich warte schon gespannt auf die 0.82 damit die Routen wieder im API Download auftauchen, muss im Moment ohne Wegmarkierung leben :wink:
Das Progi verdient 5 Sterne **

Gruß Jörg

Hallo Nop,

ich denke, Osmosis kann in Verbindung mit einer Datenbank Diff-Files in einen Datenbestand einarbeiten.
Allerdings ist mir das derzeit noch einige Nummern zu groß.

Hallo Jörg,

informationfreeway ist eine alternative API-Schnittstelle mit dem Nachteil, dass die Daten einige Minuten alt sind und dass keine Uploads möglich sind (hier nicht benötigt).
Der Vorteil ist, dass ein größeres Gebiet am Stück geladen werden kann (wird beim Composer auch nicht benötigt) und nach meiner Beobachtung ein stabileres Antwortverhalten.

Walter

Ehrlich gesagt klingt das so, also ob ich besser diese API als Voreinstellung für Composer nehmen sollte. Schnellere Antwortzeiten und größere Gebiete sollten die Arbeit deutlich komfortabler machen. Wie sieht es mit der Verfügbarkeit aus?

bye
Nop

Ich muss nochmal auf meine Ursprungsfragen zurückkommen.
Erst mal Danke an Alle für Eure Hinweise.

An NOP:

Zu 1: Ich hab’s nochmal probiert. In der Commands.log steht
25.02.2010 19:24:05 com.bretth.osmosis.core.Osmosis main
SCHWERWIEGEND: Execution aborted.
com.bretth.osmosis.core.OsmosisRuntimeException: Argument 2 doesn’t contain a value after the ‘=’ (ie. name=value).
at com.bretth.osmosis.core.cli.CommandLineParser.parseTask(CommandLineParser.java:295)
at com.bretth.osmosis.core.cli.CommandLineParser.parse(CommandLineParser.java:89)
at com.bretth.osmosis.core.Osmosis.main(Osmosis.java:38)

Was muss ich ändern?

Zu 4:
Generell versuche ich wohl, zu große Karten zu erstellen.
Im Endeffekt hätte ich gerne:
Länge : 4.45 – 13.0
Breite : 58.0 – 64.0

Wie geht denn das Zusammensetzen der Einzelkarten?

Gruß und Danke,
Jürgen

kleiner Nachtrag.
Vielleicht sollte ich die gesammte Commands.log anfügen:

reg delete “HKEY_LOCAL_MACHINE\SOFTWARE\Garmin\MapSource\Families\OSMC NOK_2” /f

rem Cutting data with osmosis

java -Xmx1100M -jar C:\Tools\Garmin\OSM_Composer\Tools\osmosis.jar --read-xml file= enableDateParsing=no --tee outputCount=1 --bounding-box bottom=58.8 left=5.0 top=60.0 right=7.2 --write-xml file=C:\Tools\Garmin\OSM_Composer\input\NOK_2_input.osm

25.02.2010 19:24:05 com.bretth.osmosis.core.Osmosis main
SCHWERWIEGEND: Execution aborted.
com.bretth.osmosis.core.OsmosisRuntimeException: Argument 2 doesn’t contain a value after the ‘=’ (ie. name=value).
at com.bretth.osmosis.core.cli.CommandLineParser.parseTask(CommandLineParser.java:295)
at com.bretth.osmosis.core.cli.CommandLineParser.parse(CommandLineParser.java:89)
at com.bretth.osmosis.core.Osmosis.main(Osmosis.java:38)

Für so ein großes Gebiet empfehle ich dir die europe.osm von bspw. http://download.geofabrik.de/osm/

Aber auch von mir der Rat: Nimm erstmal kleine Ausschnitte. Für ganz Skandinavien benötigt der Composer gut 8gb RAM.

Ich würde mal vermuten, Du hast in der Region angeklickt “Ausschnitt aus Planetfile”, aber keinen Dateinamen im Textfeld eingetragen.

bye
Nop

HAllo Nop,
da sollte es aber dann eine Überprüfung geben, ob die Datei existiert. Entweder direkt beim Speichern der Region oder vor dem Aufruf und dann eine entsprechende Meldung. Gleiches auch für die beigefügte osm-Datei.

Naja, kann ich einbauen. Aber es gibt schon Fehler, die so grundsätzlich sind, daß sie nicht flächendeckend abgefangen werden. Z.B. gibt es auch keine Prüfung, ob die Koordinaten für den Kartenausschnitt überhaupt existieren. :slight_smile:

bye
Nop