Hallo zusammen,
ich möchte mir selber Karten für mein etrex 30 bauen.
Ich scheitere schon am einfachsten Schritt und weiß einfach nicht weiter.
Ich nutze:
-java 8.31
-mkgmap-r3449
Ich will eine Karte der Faröer-Inseln erstellen. Dateigröße 30 MB.
Deshalb muss ich nicht splitten. osm-Daten habe ich von geofabrik.de.
Bevor ich mich dem anspruchsvollem Style\Typ widme, möchte ich einfach nur mit mkgmap
eine 63240001.img Datei erzeugen. Dazu starte ich eine batch-Datei mit dem Inhalt:
java -jar mkgmap.jar FI.osm
pause
…und das kommt dabei rum:
C:\Sven\Karte\mkgmap-r3449\mkgmap-r3449>java -jar mkgmap.jar FI.osm
Time started: Tue Feb 17 12:53:04 CET 2015
Number of MapFailedExceptions: 0
Number of ExitExceptions: 0
Time finished: Tue Feb 17 12:53:12 CET 2015
Total time taken: 7951ms
C:\Sven\Karte\mkgmap-r3449\mkgmap-r3449>pause
Drücken Sie eine beliebige Taste . . .
mkgmap und java werden gestartet;FI.osm liegt im gleichen Verzeichnis; keine Fehlermeldung
aber 63240001.img wird nicht erstellt.
Woran kann das liegen? ich weiß nicht, was ich noch probieren soll.
Und ich habe wirklich sehr große Lust, mich mit dem Thema sehr intensiv zu beschäftigen.
Danke im Voraus für eure Hilfe .
Der Aufruf und die Ausgabe von mkgmap sieht soweit richtig & plausibel aus, und ist für mich in einem lokalen Test absolut nachvollziehbar. Ich frage mich aber: Was wird denn statt dessen bei Dir erstellt? mkgmap arbeitet ja einige Sekunden. Bei mir wird per Default neben der Datei “63240001.img” eine “osmmap.img”, “osmmap.tdb” und “ovm_63240001.img” erstellt. Was befindet sich bei Dir neues im Verzeichnis “C:\Sven\Karte\mkgmap-r3449\mkgmap-r3449”? BTW, es macht Sinn die Karte in einem anderen Verzeichnis als dem von mkgmap selbst zu erstellen - allein wegen der Übersicht, damit Du auch siehst was erstellt wurde…
Versuche mal, dem mkgmap noch ein paar Optionen mitzugeben.
Diese kannst du entweder in das Kommando schreiben oder in eine separate Datei.
Ein Beisiel, wie ich das mit meiner Canaren-Karte mache:
Du kannst auch erstmal die Entwicklungsumgebung der Freizeitkarte ausprobieren.
Und wenn denn alles läuft, von dortr deine eigene Entwicklungsumgebung ableiten.
Du kannst Dir auch den Map Composer herunterladen und die Karte erst mal damit bauen. Der zeigt alle verwendeten Kommandozeilenaufrufe in einem Logfile an, so daß man danach auch manuell weitermachen kann.
Vorteil ist, daß bereits die richtigen Eingabedaten, Koordinaten etc. verwendet werden.
Danke für die zahlreichen antworten. @Joachim Moskalewski:das ist ja das komische, es wird (sicher) rein gar nichts erzeugt. @speichennippel: bei meinen ersten Versuchen hatte ich einige Optionen usw. eingefügt. Dann hat mkgmap auch viel länger gearbeitet…aber erzeugt wurde auch nichts. Daher ist mein Gedanke, dass es erst mal ganz rudimentär ohne optionen funktionieren muss, bevor ich damit weitermache.
Meint ihr das Problem ist in Java oder in mkgmap zu suchen? Oder stimmt mit den osm-Rohdaten was nicht (was ich aber nicht glaube)?
Mein Problem ist, dass ich mittlerweile nicht mehr weiß, was ich noch probieren kann.
Ich habe Java und mkgmap jetzt schon mehrmals neu installiert. osm-Dateien von verschieden Bezugsquellen bezogen etc.
Oder könnte es ev. mit windows zusammenhängen?
Mir ist klar, dass ihr aus der Ferne wahrscheinlich auch nicht viel dazu sagen könnt, aber vielleicht hat einer einen guten Gedanken
Ich möchte meine Karten auch mit mkgmap erstellen, da es meiner Meinung der beste Weg ist.
Wie du richtig sagst kann man aus der Ferne recht wenig sagen.
Im Prinzip hast du zwei Möglichkeiten:
Die holprige wäre sich die Doku zu mkgmap durchzulesen, die Parameter zu verstehen und richtig mkgmap mit zu geben.
Die einfachere wäre, sich erstmal über eine GUI/Arbeitsumgebung mkgmap zu nähern. Die weiß, was mkgmap braucht und zeigt dir dies in der Regel auch an. Da wurde dir hier schon die Freizeitkartenumgebung und der MapComposer vorgeschlagen. Ich würde dir für den Einstieg den MapComposer empfehlen, vorallem wenn du nicht so fit im DOS-Fenster bist.
Zumindest müsstest du mkgmap mitteilen, wo es die style Dateien findet.
Vielleicht wird auch das Java nicht richtig aufgerufen. Das Problem hatte ich auch mal und konnte es lösen, indem ich den Pfad zu Java in “” gesetzt habe. Man kann auch was über Systemvariabeln regeln, das habe ich aber nicht geschafft.
Java + mkgmap sollte so wie beschrieben direkt funktionieren - weitere Parameter braucht es nicht. mkgmap selber wird aufgerufen und läuft, siehe dessen makellose Ausgabe im Terminal. Wäre die OSM-Datei fehlerhaft, würde mkgmap einen Fehler schmeißen - ebenso bei fehlenden Schreibrechten oder fehlerhaften Aufrufen von Dateinamen (und selbst bei einer leeren OSM-Datei wird zumindest eine der üblichen Dateien erstellt). Zumindest unter Linux funktioniert alles mit eben jener Faröer-OSM-Datei der Geofabrik (bz2 entpackt) mit genau dieser mkgmap-Version und genau Deinem Aufruf.
Ich habe keinen Schimmer mehr von Windows, aber: Ich würde als nächstes einen Blick in Richtung Rechte werfen - darf ein Programm bei Dir überhaupt dort eine Datei erstellen? Ich nehme mal an, "C:\Sven" liegt nicht wirklich in Deiner $HOME Umgebung? (Sicher im $HOME liegt Dein Desktop-Ordner.) Könnte eventuell irgend eine Antivirensoftware dawischenfunken? Und vielleicht kann wer etwas besser helfen, wenn wir wissen, welche Windows-Version das ist (sowie 32 oder 63bit).
Und einen weiteren Funktionscheck würde ich durchführen: “java -jar mkgmap.jar --list-styles” - das sollte Dir auflisten, welche Styles vorhanden sind; Per Default kommt da ein wenig mit und sollte gelistet werden.
Und dann könntest Du noch den Parameter “–verbose” hinzufügen - dann sollte mkgmap gesprächiger sein. Bei mir hat das allerdings keine Wirkung… (vermutlich weil nicht mehr zu melden ist).
Ich habe eben mal im Selbstversuch eine Karte der Faröer-Inseln erstellt, mit mkgmap-r3449 und ohne irgendwelche weiteren Optionen, und das hat funktioniert – das ganze allerdings unter Linux und mit java 7. (Die Geodaten habe ich von der Geofabrik heruntergeladen).
Ich denke, daß man fehlende mkgmap-Optionen da erstmal als Ursache für Dein Problem ausschließen kann.
mkgmap produziert erfahrungsgemäß auch Fehlermeldungen, wenn irgendwas nicht stimmt, und das scheint ja bei Dir nicht der Fall zu sein:
– das sieht im Prinzip genauso aus wie bei mir.
Ich denke, daß man einen fehlerhaften Java-Aufruf deshalb auch als Fehlerursache ausschließen kann.
– Jetzt sehe ich gerade, daß es inzwischen weitere Antworten hier gibt – ich (kein Windows-Experte) würde mal in Richtung
nach dem Fehler suchen.
Könnte es eventuell sein, daß unter Windows der Output von mkgmap irgendwo ganz anders landet als C:\Sven\Karte\mkgmap-r3449\ ?
Es müßte unter anderem eine Datei osmmap.tdb erzeugt werden, und nach der kannst Du ja mal suchen.
Es funktioniert (…und funktionierte schon immer)!!!
Vielen Dank an Joachim und Hartwig ihr habt mich auf die richtige Spur gebracht.
Danke auch an alle Anderen, die sich die Zeit genommen haben mir zu helfen.
Der output-Ordner wird versteckt direkt unter C angelegt (C:\VTRoot\HarddiskVolume1\Sven\Karte\mkgmap-r3449\mkgmap-r3449).
Diese output-Dateien hatte ich mit der windows-Suche nicht gefunden. Dummerweise bin ich nicht auf die Idee gekommen, dass es versteckt angelegt werden könnte.
Ich überlege mir, auf Linux umzusteigen.
Jetzt kann ich endlich mit mkgmap experimentieren.