DE talk:OSM Composer/Anleitung

From OpenStreetMap Wiki
Jump to navigation Jump to search

Tipps und Tricks

Renderregeln bearbeiten

Kartenobjekte erstellen

Flächen

Ich würde gerne weitere Flächen auf der MapSource-Karte und im Gerät darstellen. Mit Farben und vorhandenen Grafiken klappt das ganz gut. Für Kartenobjekte wie z.B. Moor/Sumpf finde ich jedoch keine passende Grafik im OSM-Composer. Eine selbst erstellte Grafik (Kopie von tree_pattern, Bäume gelöscht und Sumpf drüber gemalt) brachte mich nicht in der erwünschten Form weiter. Die Fläche wird in der Karte einfach nur grün (ohne Sumpf) dargestellt. In der Liste der Kartenobjekte wird die Grafik dagegen korrekt angezeigt. Woran könnte es liegen, daß das Muster auf der Karte fehlt? Benutztes Grafikprogramm Microsoft PhotoDraw V2 erzeugtes Format: *.png Option: transparent Größe gemäß Vorgabe --elmada 16:58, 2 June 2009 (UTC)

Renderregeln sichern

Das interessante am Composer ist das Experimentieren mit den Renderregeln. Die Grafik weist darauf hin, daß diese in mapstyle gespeichert werden. Eine Datei mit diesem Namen konnte ich nicht finden. Nur einen Ordner mit den Dateien "lines" "points" "polygons" und "version". Sie zeigen allerdings kein aktuelles Änderungsdatum. Was beinhalten diese Dateien? Welche Dateien muß ich sichern, um funktionierende Renderregeln erhalten zu können, wenn ich herumexperimentiere? Viele Grüße und Danke für die Hilfe. --elmada 21:10, 12 April 2009 (UTC)

Die Dateien in mapstyle sind die Steuerdateien für mkgmap und werden von Composer ständig neu erzeugt. Die Renderregeln innerhalb von Composer liegen in MapItem.tbl und GarminItem.tbl. Die Ersetzungsregeln liegen in Outline.tbl, ConvertAction.tbl und ConvertRule.tbl. --Nop 21:40, 12 April 2009 (UTC)

Ok, gefunden. Aktuelle mapstyle-Dateien lagen in den Ordnern, die ich im OSM-Composer 0.71 für verschiedene Kartenregionen angelegt hatte. Dann kann ich ja jetzt weiter herumprobieren. -- GarminItem.tbl > Kartenobjekte elmada 23:46, 12 April 2009 (UTC)


Tags durchreichen

Ohne Erläuterung erschließt sich nur schwer, was damit gemeint ist.[1] Kann das bitte jemand ergänzen? --elmada 14:42, 22 February 2010 (UTC)

neu erstellten Kartentyp auf Kartendownload anwenden

Nach einigem Tüfteln und Basteln ist ein neuer Kartentyp mit neuen Kartenelementen und Renderregeln entstanden. Wie läßt dieser sich auf das von Dir bereit gestellte Kartendownload anwenden? (MapSource PC-Version)

Gar nicht. Die Rohdaten werden aus einem Planetfile geholt und dann von Composer mit Deinen Regeln umgewandelt. Damit erzeugst Du Deine eigene Mapsource-Karte. Ich würde Dir aber für den Anfang einen kleineren Ausschnitt als halb Deutschland empfehlen, die großen Karten dauern ziemlich. --Nop 16:07, 22 April 2009 (UTC)


Datenbeschaffung

lokale Daten

Der Composer kann laut Beschreibung auf lokal gespeicherte Daten zugreifen. Leider gelang mir die Erstellung einer Karte mit Hilfe lokal gespeicherter Daten bislang nicht. Nun frage ich mich, ob ein gezipptes Datenpaket, das z.B. von Geofabrik herunter geladen wurde, entzippt werden muß/darf? Oder arbeitet der Composer besser mit dem Download im gezippten Zustand? Bei grenzüberschreitenden Karten (z.B. Deutschland/Belgien) wird als Datenquelle das Europa-Paket benötigt. Das ist ziemlich groß. Bislang klappte die Erzeugung einer Karte aus dem Europa-Paket noch nicht (Habe die Daten entzippt - War das falsch?). Das Programm blieb irgendwann einfach stehen. Wie begegne ich diesem Problem am besten? --elmada 15:30, 22 April 2009 (UTC)

Composer verarbeitet sowohl entzippte als auch gezippte Dateien. Entzippte Dateien sind allerdings wesentlich schneller. Eine komplette Datei reinzulutschen ist nur für kleine (z.B. aus JOSM gespeichert) oder mittelgroße Bereiche zu empfehlen. Für die Europadatei solltest Du definitiv die Einstellung "Planetfile" wählen, dann wird nur der benötigte Datenbestand ausgeschnitten. Du kannst den Download der Planetfiles im Job abschalten und ihm das Planetfile manuell bereitlegen.
Mit der Formulierung "bleibt irgendwann einfach stehen" kann ich leider nichts anfangen. Bitte stell Deinen Loglevel wieder auf die Standardeinstellung zurück und sage mir, welcher Schritt im Log als letztes protokolliert wird, bevor er stehenbleibt. Was zeigt die Fortschrittsanzeige an, falls eingeblendet? Gibt es eine Ausgabe auf dem Konsolenfenster, das sich beim Start von Composer öffnet? Wenn Du versucht hast, das Europafile komplett einzulesen, ist ein Out-Of-Memory-Problem ziemlich wahrscheinlich. --Nop 16:13, 22 April 2009 (UTC)

Hmmm - - - "blieb irgendwann einfach stehen" bedeutet, daß nichts mehr ging. Ich versuche das, was da passierte noch einmal zu rekonstruieren . . .

  • Job gestartet > planet=aus, xapi=aus, als Datenquelle auf das entzippte Europa-Paket verwiesen
  • Größe der Region 1.5 x 1.5
  • In der Statusleiste steht: Daten bearbeiten für xxx
  • In der Mitte des Bildschirms sehe ich ein kleines Fenster: "Verarbeiten" Nodes: zählen im rasenden Tempo hoch; Ways: 0; Relations: 0

Genau in diesem Arbeitsprozess blieb das Programm irgendwann bei einer sehr hohen Nodes-Zahl stecken. Ways immer noch 0; Relations immer noch 0;

Ich wollte zwar nur einen Kartenausschnitt erstellen, der ein wenig über die belgische Grenze ragt, aber mit dieser Form der Datenbeschaffung kommt man anscheinend nicht so leicht zum Ziel. Ich denke inzwischen auch, daß da Out-Of-Memory zum Stillstand des Programms geführt hat. Dieses Vorgehen war als Notlösung gedacht, als der Composer (wohl wegen der Umstellungen bei OSM) weder auf Planetfile noch auf XAPI zugreifen konnte. --elmada 21:13, 22 April 2009 (UTC)

Planet

Mit Planet komme ich nicht weiter. Eine aus deren Daten generierte Karte zeigte Gestern mittendrin Löcher. Das war vor dem "OSM-Umbau" nicht so. Woran mag das wohl liegen?

 osmosis call failed! 

Das Programm streikt bei mir. Alle Pfade sind kontrolliert. Es stimmt alles (war mit dem Auto-Installer installiert worden). Oder streikt es doch nicht völlig? Es wurde ja ein Kartenausschnitt erzeugt. Alle anderen Datenquellen waren im Job abgeschaltet. --elmada 11:29, 30 April 2009 (UTC)


Problem durch leeres Tag

Hallo, ich hab ein vielleicht ähnliches Problem. Ich habe ein .osm von geofabrik (nur Thüringen, also eher 'klein'). Habe das als Quelle angegeben und leicht größere Koordinaten eingetragen. Das Programm bleibt bei der Bearbeitung nicht stehen, srtm2osm bricht aber in mehreren Instanzen ab und es wird entweder kein oder ein ungültiges file erzeugt. Auslöser ist wohl diese Exception:

D:\temp\OSMComposer>java -Xmx1500M -cp map_composer.jar;ndsc15.jar;nop.jar;stax-1.2.0.jar;colorpicker.jar;bzip2.jar nop.osmc.MapComposer
28.04.09 21:28 java.lang.StringIndexOutOfBoundsException: String index out of range: 0
28.04.09 21:28 Exception writing xml data
        java.lang.StringIndexOutOfBoundsException: String index out of range: 0
        at java.lang.String.charAt(Unknown Source)
        at nop.osm.OSMElement.isIgnored(OSMElement.java:210)
        at nop.osm.OSMElement.readTags(OSMElement.java:189)
        at nop.osm.OSMNode.<init>(OSMNode.java:33)
        at nop.osm.OSMInputFile.getNext(OSMInputFile.java:102)
        at nop.osmc.generator.RegionMapper.readMapData(RegionMapper.java:261)
        at nop.osmc.generator.Mapper.generate(Mapper.java:159)
        at nop.osmc.MapComposer$11.act(MapComposer.java:298)
        at nop.gui.MenuThreadAction.run(MenuThreadAction.java:27)
        at java.lang.Thread.run(Unknown Source)
28.04.09 21:28 mkgmap call failed!

Ein kleinerer Bereich über die API gezogen funktioniert. Eine etwa gleichgrosse ebenfalls nicht. Ob's wirklich an der Groesse liegt weiss ich nicht. Vielleicht auch an einem bestimmten Tag? Ohne Hinweis auf den betreffenden Node komm ich nicht weiter. Chaos99 19:31, 28 April 2009 (UTC)

Vermutlich ein leeres Tag. An der Stelle versucht Composer den ersten Buchstaben des Tags zu ermitteln, anscheinend hat da jemand ein völlig leeres Tag eingegeben. --Nop 11:17, 29 April 2009 (UTC)
Irgend eine Idee, wie man rausfindet an welcher node das leere Tag haengt? Btw: Fehlertoleranz von OSMComposer fuer diesen Fall waere natuerlich wuenschenswert. Vielleicht in der naechsten Version? Chaos99 07:48, 29 April 2009 (UTC)
Ohne Änderung an Composer kaum. Und die V0.74 ist natürlich robust dagegen. Bei näherem Nachdenken kann das Tag auch noch nicht so lange vorhanden sein, ich baue grade eine Deutschlandkarte mit den Daten vom 24.4., da tritt das Problem nicht auf. --Nop 11:17, 29 April 2009 (UTC)
Auch meine Daten trugen bei geofabrik den Zeitstempel 24.04. Bei einem zweiten Durchlauf kam jeweils ein "XML Sections have to start and end with the same tag" Fehler dazu (Fehlermeldung aus der Erinnerung). Ein Loeschen der temporaeren Zwischendaten fuehrte aber wieder zum Urzustand zurueck. Ich bin leider erst in ein paar Tagen wieder zum Testen zurueck. (Die Wanderkarte will ja auch gentuzt werden, ich nehme jetzt die downloadbare Deutschlandkarte. Leider ohne Routingsupport. Der Thueringer Wald ist ja noch sehr bescheiden abgedeckt.)Chaos99 11:50, 29 April 2009 (UTC)


)

Fehlermeldungen

ParseError

 javax.xml.stream.XMLStreamException: ParseError at [row,col]:[308453,31]
Message: XML document structures must start and end within the same entity.

Was bedeutet das? Eventuelle Fehlerursache: Ich hatte die im DATA-Verzeichnis gespeicherten Daten eines XAPI-Downloads und die daraus generierten Files gesichert. Dann startete ich ein Update. Als das XAPI-Download nach etwa 500/2400 nur noch ERRORs erzeugte, unterbrach ich das Download, indem ich den Composer mit "beenden" schloß. Dann kopierte ich die gesicherten Files in das DATA-Verzeichnis zurück und wollte ohne neue Daten an der Karte arbeiten. Da erschien dann oben zitierte Fehlermeldung. --elmada 16:52, 29 April 2009 (UTC)

Meistens erzeugt der Abbruch des laufenden Downloads eine unvollständige Datei. Ich vermute die liegt immer noch irgendwo rum. Du müßtest sie am Filedatum erkennen können. Aber 2400 Segmente runterladen ist ja auch heftig - ich hab nie mit mehr als 60 gearbeitet. --Nop 19:55, 29 April 2009 (UTC)

Nachdem ich das ganze Data-Verzeichnis einfach leer geräumt hatte, ging alles wieder. Die Segmente sind sehr klein. 0.025 Sonst komm ich in unserem Gebiet auf keinen grünen Zweig. Die Fläche beträgt etwa 1.0 x 1.0 Inzwischen hab ich wieder ein fast perfektes XAPI-Download bekommen. Das geht aber nicht immer. Nebenbei bemerkt: Während des Error-Laufs sprang der Composer aus dem Download in die nächsten Arbeitsschritte und meldete irgendwann "Fertig" während der Download noch lief. --elmada 11:22, 30 April 2009 (UTC)

FAQ

generate_map_files.py

Ich habe gesehen, dass die neueste Version 0.74 nun einige Bachfiles zur Integraton mit Mapnik erzeugt. Gibt es dazu schon eine Anleitung ? Speziell bin ich mit dem render_file.bat nicht weitergekommen, da darin eine Datei namens "generate_map_tiles.py" aufgerufen wird, die ich nirgends gefunden habe. --Behrica 14:14, 15 May 2009 (UTC)

Danke für den Hinweis. Da habe ich versehentlich die falsche Version hoch geladen, die ich für die Online Karte verwende. Das ganze Zeug funktioniert nur hier auf meinem Rechner. Ursprünglich wollte ich es auch mal veröffentlichen, aber die Mapnik Renderkette ist so elendiglich kompliziert und hat soviel wilde Abhängigkeiten, dass sich das nicht allgemein unterstützen läßt. Bitte ignorier den Krempel, ich habe eine reparierte Version hochgestellt, bei der auch jedes Feature funktioniert. --Nop 16:25, 15 May 2009 (UTC)
OK. Ich hatte eigentlich gehofft dass sich hiermit eine Weg aufzeichnet, so dass ich die mit dem OSM Composer erstellten Karten auch als Images bekommen kann, mit derselben Information aber zum Ausdrucken. Gibt es dafür auch einen anderen Weg ?--Behrica 16:55, 15 May 2009 (UTC)
Probier doch mal folgendes: Karte in MapSource 6.14.x ansehen, Kartendetail auf Maximum stellen, Ausdrucken. Hat in meinem Versuch eben eine recht annehmbare Karte produziert. --Nop 19:33, 15 May 2009 (UTC)

Icongröße

Welche genauen Regeln gibt es für die Icongröße bei Wegen? Ich habe versucht Icons (png erstellt mit Inkscape) der Größe 32x6px zu nutzen, aber der Composer beschwert sich dann mit der Meldung "Linienicons müssen genau 32 Pixel breit sein". Gibt es noch andere Anforderungen, z.B. DPI-Zahl etc.? Gruß --WanMil 21:22, 15 November 2009 (UTC)

In der Anleitung steht "zweifarbiges .png". Wenn ich die png-Palette auf 2 Farben (Bittiefe 1) oder Bittiefe 32 ändere, ändert dies nichts an der Fehlermeldung. Interessanterweise funktionieren aber natürlich die mitgelieferten PNGs. Wo liegt die Spezialität?--WanMil 21:41, 15 November 2009 (UTC)
Da gibt es keinen Trick. Ich würde mal vermuten, daß Deine PNGs aus irgendeinem Grund in Java gar nicht gelesen werden können - das würde dann Pixelbreite 0 ergeben. --Nop 17:56, 16 November 2009 (UTC)