Map Composer erzeugt keine Garmin Map

Ich wollte mal den Map Composer ausprobieren. Dazu habe ich, wie in http://composer.waldpfa.de/index.php/MC/Download beschrieben, die aktuelle Version 0.85 heruntergeladen und entpackt sowie das Starthilfeset heruntergeladen und entpackt. Die vorhanden Java Version ist 6.0.210. Das Betriebssystem ist Windows 7.
Egal, ob ich start.bat oder start_x64.bat anklickte, es tat sich nichts. Laut Beschreibung sollte nun eigentlich die Meldung “Autokonfiguration erfolgreich ausgeführt” erscheinen.
Diese erschien erst, als ich zufällig die jar-Datei map_composer anklickte.
Nachdem ich im Map Composer ein neues Projekt Abdalajis_Beispiel angelegt und die Tabellen entsprechend gefüllt hatte, klickte ich auf “Generieren”.
Es lief alles sauber durch, jedoch erschien gegen Ende diese Fehlermeldung:
Build the Garmin maps
Calling mkgmap
mkgmap call failed
Generation finished

In meinem Garmin Mapsource erscheint nun zur Auswahl eine Karte “Abdalajis_Beispiel”, sie ist jedoch leer.

Ich habe bei den Composer Einstellungen bei Garmin ein Häkchen gesetzt und unter Garmin Häckchen bei: Karte erzeugen immer, Kachelaufteilung berechnen, Höhenlinien bei Bedarf abrunden, Karte installieren mit Mapsource Integration.

Nicht angeklickt habe ich: auf Gerät laden, Image für Gerät, Zipfiles erzeugen.

In der Regionsübersicht des Composers wird die gewünschte Herkunftsregion aus dem OSM api exakt angezeigt.
Weiß vielleicht hier jemand, warum keine Garmin-Karte erzeugt wird?

Das Problem hatte ich auch, schau mal, hier wird dir geholfen: http://forum.openstreetmap.org/viewtopic.php?id=9258

Die letzten drei Posting.

Hallo Surveyor54,
danke sehr für die schnelle Nachricht.
So richtig habe ich noch nicht verstanden. Ich habe mir die drei letzten Einträge des Forumeintrages angesehen, auf den Du mich verwiesen hast.
Ich habe bei meinen Namen Leerstellen vermieden. Trotzdem kriege ich den gleichen Fehler wieder.
Wo finde ich denn die Datei “Commands Log”? Ich habe nur gefunden: Datei → Log
Dort habe ich Trace Level auf All gesetzt.
Ich finde in dem umfangreichen Trace aber keine Zeile, die nur im entferntesten einem Eintrag java -xxxx-jar gleicht.
Auch kein Eintrag "Could not open file: "
Auch kein Eintrag “Exception in thread…”
Auch kein C:.…\Tools\mkgmap.jar.…

Ich habe die Einträge für Garmin belassen wie in der Beispielkarte, also karten-ID=79, Produktcode=1,Dateiname=7999

Könnte es etwas mit den “Einstellungen” zu tun haben?
Bin total ratlos.

Zusatzinformation:
Es muss etwas mit der Verbindung von Map-Composer mit meiner Mapsource-Installation zu tun haben. Ich habe alle alten 7999 Einträge aus der Datei “Garmin” im Map Composer gesichert, Mapsource runtergefahren und Mapcomposer neu gestartet. Nun läuft der Job ohne Fehlermeldung durch. Dann Mapsource wieder gestartet. In Mapsource kriege ich nun zur Auswahl eine Karte Abdalajis2 angeboten, die ich ja auch erzeugen wollte. Die Karte ist jedoch leer.
Im Vergleich zu den von mir vorher in der Map Composer Datei Garmin gesicherten Einträge fällt mir auf, dass der neue Job keine Dateien mit Namen gmapsupp, osmmap oder osmmap.tdb erzeugt hat. Dafür gibt es jetzt eine 7999000.TYP, die vorher nicht da war.
Weiter fällt mir auf, dass im Beispiel in der Anleitung für den Reiter “Garmin” in den “Einstellungen” ein Eingabefeld “64bit Windows” gezeigt wird. Dieses fehlt bei mir in der “richtigen” Anwendung, dort steht stattdessen ein Feld “Map Source Cache zurücksetzen” mit einem Häkchen drin.
Vielleicht hilft diese Information einem der Wissenden im Forum weiter?

Gutes Neues Jahr!
UFeldmaus

Dann ist java bei Dir nicht im Suchpfad. Normalerweise legt die Java Installation in system32 Kopien der java.exe/javaw.exe/javaws.exe an.

Kontrolle:
Eingabeaufforderung öffnen und “java -version” eingeben.

Die start_x64.bat nutzt eine java-Option -XX:+UseCompressedOops, die allerdings nur für eine spezielle java-performance-Version
gedacht ist. Ausserdem nutzt sie einen 2 GB Heap.

Bei mir lässt sich die start.bat jedenfalls aufrufen, und es erscheint “Autokonfig erfolgreich”. Wenn ich dann auf “generieren” klicke
passiert allerdings nichts, vermutlich muss ich da erst noch was einstellten.

Edit:
Achso, ich muss die Karte in der Tabelle erst auswählen und dann “generieren”.
Momentan ist er bei Daten lesen 4/24.

Edit2:
Mist, abgestürzt:


01.01.11 11:52 javax.xml.stream.XMLStreamException: ParseError at [row,col]:[589,155]
Message: Premature EOF
01.01.11 11:52 Exception reading data from downloaded file
javax.xml.stream.XMLStreamException: ParseError at [row,col]:[589,155]
Message: Premature EOF
    at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source)
    at nop.osm.OSMInputFile.getNext(OSMInputFile.java:154)
    at nop.osmc.generator.RegionMapper.downloadRegion(RegionMapper.java:116)
    at nop.osmc.generator.Mapper.generate(Mapper.java:179)
    at nop.osmc.MapComposer$12.act(MapComposer.java:384)
    at nop.gui.MenuThreadAction.run(MenuThreadAction.java:27)
    at java.lang.Thread.run(Unknown Source)
01.01.11 11:53 javax.xml.stream.XMLStreamException: ParseError at [row,col]:[561,140]
Message: Premature EOF
01.01.11 11:53 Exception reading data from downloaded file
javax.xml.stream.XMLStreamException: ParseError at [row,col]:[561,140]
Message: Premature EOF
    at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source)
    at nop.osm.OSMInputFile.getNext(OSMInputFile.java:154)
    at nop.osmc.generator.RegionMapper.downloadRegion(RegionMapper.java:116)
    at nop.osmc.generator.Mapper.generate(Mapper.java:179)
    at nop.osmc.MapComposer$12.act(MapComposer.java:384)
    at nop.gui.MenuThreadAction.run(MenuThreadAction.java:27)
    at java.lang.Thread.run(Unknown Source)

Edit3:
Ok, mit einer kleineren Region (Wertheim) hat es dann geklappt. (Kann der Composer kein XAPI?)
Im Ordner Garmin finde ich folgende Files:


 Verzeichnis von C:\Program Files\map_composer\garmin

01.01.2011  12:14    <DIR>          .
01.01.2011  12:14    <DIR>          ..
01.01.2011  12:14             5.120 79990000.img
01.01.2011  12:14               525 79990000.tdb
01.01.2011  12:14            37.180 79990000.TYP
01.01.2011  12:14           407.040 79990001.img
01.01.2011  12:14           446.464 gmapsupp.img
01.01.2011  12:14             5.120 osmmap.img
01.01.2011  12:14               521 osmmap.tdb
               7 Datei(en),        901.970 Bytes

Keine Ahnung, ob ich die auch in BaseCamp anzeigen lassen kann…

Chris

Ja, du musst die Karte wie schon bei MapSource auch registrieren, dann kann man sie sich auch in BaseCamp anschauen.

Egtl. kann der Composer XAPI…kann aber sein, dass man da erst den Pfad manuell in den Einstellungen festlegen muss.

Hmmm, hab’s mal gerade mit MapSetToolKit 1.77 probiert, aber ich sehe in BC weiterhin nur die “globale Karte”.

Auch scheint MSTK keine Registry Einträge in \local machine\software\garmin angelegt zu haben.

OS: Win7-64

Edit:

Ok, hab’s rausgefunden:

MSTK legt die Schlüssel an unter \current user\software\classes\virtual store\machine\software\wow6432node\garmin

sie gehören allerdings hier hin:

\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Garmin

(Vermutlich ein UAC Streich)…

Chris

Java befindet sich bei Dir nicht im Suchpfad, deshalb funktioniert der Befehl “java” in den Batchfiles nicht. Aber jar-Datei starten geht genauso.

“mkgmap call failed” heißt daß keine Karte erzeugt wurde - kein Wunder also daß Du nichts siehst.

Suche die Datei “console.log”. Dort siehst Du, welcher Aufruf schief ging und was der Fehler war.

bye
Nop

Anleitung ist veraltet, Betriebssystemtyp wird jetzt automatisch erkannt, drum gibt’s das nicht mehr.

bye
Nop

Fehlermeldung bedeutet, daß der Download unvollständig ist. Evtl. Verbindungsfehler oder serverseitige Sperre.

Composer verwendet eine beliebige (X)API URL, die in den Einstellungen angegeben wurde.

bye
Nop

Eine Datei “console.log” habe ich nicht gefunden. Jedoch konnte ich während des Laufs zur Kartenerzeugung den mitlaufenden Trace verfolgen. Warum auch immer, gibt es nun keine Fehlermeldung mehr. Allerdings ist das Ergebnis weiterhin unbefriedigend. Der Map Composer hat ein Gebiet von etwa der Größe Hessens (hier:Andalusien Süd) aus der OSM DB sauber eingelesen, was auch 5 Minuten gedauert hat. In Mapsource sehe ich jedoch nur genau eine winzige Kachel (aus dem gesamten Gebiet - was ich nur vermuten kann -) denn man sieht auf ihr nur braune Höhenlinien, ohne irgendwelche Städte, Flüsse, Straßen, Küstenlinien oder sonstige Anhaltspunkte, die mir zeigen, um welchen Teil des Gebietes es sich handeln könnte. Von den übrigen 208 Kacheln keine Spur. Es handelt sich zweifelsfrei um die Karte, die der Map Composer gerade erzeugt hat, denn ich habe ihr extra einen neuen Namen und eine neue ID verpaßt. Hier das Ende des Traces:

Rebuilding View Renderregeln/order
Calling mkgmap to create map
Build the garmin maps
calling mkgmap
mkgmap done
Generte Mapsource registry file
Installing values to registry
calling Registry install
Registry install done
Create typ definition file
Rebuilding View Kartenobjekte/topo
Rebuilding View Kartenobjekte/topo
Rebuilding View Kartenobjekte/topo
Rebuilding View Kartenobjekte/topo
Rebuilding View Kartenobjekte/topo
Compile typ definition
Creating TYP file
calling cgpsmapper
cgpsmapper done
Generation finished
Saving table Settings
Updating record 17 in index Nummernkreis/nach Name
Updating record 17 in View Nummernkreise
Saving table Mapltern
Updating record 43 in index Nummernkreis/nach Name
Updating record 43 in View Nummernkreise
Saving table IDManager

Wie kriege ich jetzt die übrigen 208 Kacheln in mein Mapsource und wie kriege ich dort mehr zu sehen als braune Höhenlinien?
Grüße
UFeldmaus

Ich denke da hat sich durch die vorhergehenden Probleme bereits etwas verklemmt.

Stell doch mal “Daten verarbeiten” und “Karte erzeugen” auf “immer”, setze einen Haken bei “Kachelaufteilung berechnen” und versuche es nochmal.

Die entscheidende Datei heißt “commands.log” (falsch zitiert, sorry) und findet sich im Verzeichnis “data”

bye
Nop

Wo es noch “gehakt” hat, war der fehlende Haken bei “Kachelaufteilung berechnen”. Jetzt ist die Karte in voller Größe erst einmal in meinem Mapsource und kann hin und her gezoomed werden. Die Datei commands.log habe ich nun auch gefunden.
Dafür erst mal herzlichen Dank!
Jetzt muss ich mich mal schlau machen, wie ich die Höhenlinien etwas dezenter und dafür die Wege etwas kräftiger hinkriege sowie einige “unbekannte Seezeichen” aus der Innenstadt von Marbella und ein unbefeuertes Seezeichen vom Gipfel des La Concha Berges entfernt bekomme. Was auch noch befremdlich ist: Bei einer Kartenauflösung, in der man ein Dorf kaum noch erkennen kann, wird deutlich in schrillen Farben ein Brunnen angezeigt, der sich in dem Dorf befindet. Ich nehme an, die Darstellung des Icons für den Brunnen lässt sich im Map-Composer irgendwie verändern?

Gibt es eine Möglichkeit, die bisher erzeugten verunglückten Karten aus Mapsource (und vermutlich der Registry von Windows7) wieder zu entfernen?

Grüße
UFeldmaus

Die merkwürdige Anzeige ist ein Hinweis darauf, daß Deine Maschine die TYP-Information ignoriert und die Seezeichne darstellt, die eigentlich mit was nützlicherem überschrieben wurden. Das läßt sich alles einstellen, aber versuch’s erst mal mit einer Mapsource Version, die das richtig macht. Welche hast Du denn?

Wenn Du die IDs nicht nochmal geändert hast, wurde die mißglückte Karte eh überschrieben.

bye
Nop

Wenn ich’s nicht ausgedruckt hätte, würde ich es selbst nicht glauben: Ich habe den Composerlauf nochmal gestartet, nachdem ich testweise die Schriftgröße für Orte höher eingestellt habe.
Nun sind die Seezeichen verschwunden und die Brunnen werden vernünftig dargestellt. Allerdings hat sich die Schriftgröße der Ortsnamen nicht verändert.
Ich werde demnächst in einer ruhigen Stunde mal studieren, was Du in der Hilfe alles über “Kartenstil verändern” geschrieben hast. Wie immer bei einem neuen Tool, wird man von der Fülle der Informationen erschlagen und muss erst einmal rausfinden, was die grundlegenden Schritte sind, ohne das gesamte Gebilde zu zerstören.

Meine Mapsource Version ist 6.16.2
Ich habe zum Testen unterschiedliche IDs für die zu erstellenden Garmin-Karten verwendet. Die würde ich nun gerne wieder los werden. Eine Idee, wie das geht?

Gruß
UFeldmaus

Die Schriftgröße läßt sich bei Garminkarten nicht verändern - die Einstellung funktioniert nur mit anderen Renderern wie Kosmos.

Los wirst Du die Karten:

  • aus der Registry am einfachsten mit MapSetToolkit entfernen
  • Dateien mit entsprechenden Nummern einfach löschen

bye
Nop

Man soll den Tag nicht vor dem Abend loben. Nachdem ich geringfügige Änderungen an einigen POIs erzeugt habe (Farbe geändert, einige nicht mehr anzeigen, Strichstärke erhöht, zumindest wissentlich nichts anderes)
stürzt Map Composer jetzt immer an der gleichen Stelle ab:

Rebuilding View Renderregeln/order
java.lang.illegal/ArgumentException: illegal external record modification: No previous version. Readonly?
Generation finished

Im Command Log steht:

reg delete “HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Garmin\MapSource\Families\MC_Beispiel” /f

FEHLER: Der angegebene Registrierungsschlssel bzw. Wert wurde nicht gefunden.

rem Existing contours are current: Wandergegend_00110_0496_6_3_contour.osm

Kommt die Meldung aus dem Mapsource? Meine Karten-ID für diesen Job ist 75, Produktcode=1, Dateiname=7555

Gestatte noch eine Zusatzfrage: Wozu ist der Reiter “Routen” gut und was könnte ich mit den darin befindlichen Einträgen anfangen? Enthalten sind hauptsächlich Wanderwege aus dem Spessart aber merkwürdigerweise auch drei Wege aus “meinem” Gebiet in Südspanien. Allerdings ist bei denen das Feld “Benutzer” leer.

Wie komme ich bitte darüber hinweg?

Gruß
UFeldmaus

Die Fehlermeldung tritt manchmal auf, wenn Du eine Renderregel hast, die ein ungültiges/nicht vorhandenes Datenobjekt verwendet. Sind in den Renderreglen rote Einträge?

Manchmal hilft auch schon ein einfacher Neustart.

bye
Nop

Leider nein. Weder ein Neustart hilft, noch ist eine Renderregel rot.
Jetzt wäre es evtl. nützlich, wenn man alle Änderungen mit einem Befehl auf “Werkseinstellung” zurücksetzen könnte.

Gruß
UFeldmaus

Ich bin nur weitergekommen, indem ich eine Neuinstallation von Map Composer vorgenommen habe. Die Anwendung reagiert sehr nervös auf Style-Änderungen in den Kartenobjekten.
Z.B. habe ich die Farbe des Meeres von weiß nach hellblau geändert. Schon gibt es keine Garminkarte mehr.
Was jetzt funktioniert hat war, das Symbol “Reitwege” auszublenden.
Damit ich mit meiner eigentlichen Arbeit vorankomme, bleibt nichts anderes übrig, als nach jeder noch so geringen Styleänderung eine neue Karten-ID zu vergeben, damit das bisher Geschaffte wenigstens erhalten bleibt, da jede Styleänderung unerwartete neue Überraschungen birgt.
Wie kommt es , dass das Symbol “Schwarzes Kreuz” jetzt in Garmin als “Fels bei Niedrigwasser bedeckt” angezeigt wird. Wie kann ich das verhindern?

Gruß
UFeldmaus