Frage an die Map_Composer-Gurus

Hallo,

ich hätte da wieder mal ein paar Fragen:

Einbahnstraßen:
Ich würde mit Map_Composer gerne Einbahnstraßen kennzeichnen. Hierzu müsste ich oneway=yes auswerten. Obwohl ich sicher weiß, dass im Kartenbereich Einbahnstraßen vorkommen, erscheint dieser Eintrag nirgends im Wizard. Wie kommts?

Verschiedene Flächen:
Es gibt hier einige geschotterte Flächen, die mit highway=service / surface=gravel / area=yes gemappt sind. Mapnik füllt die Flächen aus. Bei mir erscheint bislang nur die umgebende highway=service. Habe schon versucht, durch eine Ersetzung bei area=yes das Objekt testweise durch ein landuse=landfill zu ersetzen, was irgendwie nicht funktioniert. Weiterhin wird nur die umgebende highway=service ohne Fläche angezeigt. landfill wird sonst übrigens richtig angezeigt.

Kann man in M_C ein area=* durch ein landuse=* ersetzen?

Manchmal wäre es schön, in OSM ein paar weitere landuse-Objekte zur Verfügung zu haben, z.B. für ungeteerte Flächen oder Wendeplätze, welche keine Parkplätze sind.

Gruß, softcake

Schau mal in die Tagfilter - standardmäßig ist Composer für Topokarten konfiguriert und blendet Einbahntags über die Tagfilter aus.

Composer arbeitet sequentiell und führt die erste Renderregel für ein Objekt aus, die er findet, und bricht dann ab. Vermutlich schlägt highway=service einfach vor der Regel für Landuse zu.

Du müßtest einen neuen Flächentyp “service_area” einführen und den per Ersetzung anstatt von service setzen. Bei “pedestrian” solltest Du ein Beispiel finden.
Es sollte auch funktionieren, wenn Du landuse setzt und gleichzeitig den alten “service” löscht.

bye
Nop

@Nop: Danke!

softcake

Ich kämpfe hier mit einem seltsamen Effekt:

Mitten durch meinen Kachelausschnitt verläuft die senkrechte Kachelgrenze (12.0 Längengrad). Man sieht deutlich eine senkrechte feine Linie. Leider verschwinden links davon diverse Polygonflächen. Sie werden einfach abgeschnitten, so dass in Mapsource die Hintergrundfläche sichtbar wird.

Auch einige Straßen werden abgeschnitten. Andere widerrum nicht.

Ich bekomme den Fehler mit Daten aus pbftoosm, sowie aus osmosis. Verwende ich germany.osm als Quelle und schneide eine Region aus, gibt’s keine Probleme.

Was könnte das sein?

softcake

So, ich schubse den Beitrag nochmal nach oben…

Habe heute Nacht die Datei europe.osm.pbf von geofabrik heruntergeladen und erzeugte damit vorhin eine weitere Karte mit Map Composer.
Wieder der gleiche Effekt an der senkrechten Schnittkante an der Länge 12.0. Viele Polygone und Wege sind abgeschnitten, manche gar nicht vorhanden.

Es scheint also völlig egal zu sein, woher die Daten stammen.

Ganz schlimm wird es, wenn ich Höhenlinien mit einbinde. Dann gibt es auf der Schnittkante einen dicken senkrechten Balken (in Höhenlinienfarbe). Routing über diesen Balken hinweg ist dann nicht mehr möglich.

Die Koordinaten des Bereiches lauten left=11.2 bottom=49.8 right=12.8 top=50.6.
In http://www.openstreetmap.org/?lat=50.1814&lon=12.0132&zoom=14&layers=M scheint alles ok zu sein.

Ich verwende MC v0.86 und osmosis v0.39.

Und jetzt kommt’s: Gerade ist eine weitere Karte fertig geworden. Es funktioniert, sobald ich den Ausschnitt etwas kleiner wähle: left=11.7 bottom=50.0 right=12.5 top=50.6.

Kann sich das jemand erklären?

Ok, bin selber drauf gekommen:

Die Einstellung in Kartenjob → Parameter → Maximale Objekte/Kachel waren mit 2000 offensichtlich zu niedrig eingestellt. Hab’s auf 3000 gesetzt und siehe da - es klappt!

softcake

Hallo,

ich habe immernoch Probleme mit der Ersetzung von ungeteerten Flächen.

Die zu ersetzende Fläche ist getaggt mit

highway = service
surface = gravel
area = yes

Meine Ersetzung sieht folgendermaßen aus:

Bedingungen:

area = yes
highway vorhanden
surface entspricht unpaved|gravel|sand|grass|ground|dirt|compacted|earth

Aktionen:

Tag setzen landuse = landfill
Tag entfernen highway
Tag entfernen area

Wenn ich Nop richtig verstanden habe, sollte das doch eigentlich reichen. Die Fläche erscheint jedoch in der Karte nach wie vor nur als Ring (highway = service).

softcake

Hast Du die Reihenfolge, in der die Renderregeln abgearbeitet werden überprüft?

Das hat etwas mit der Menge der Daten zu tun. Wenn der Rechner von der Datenmenge überfordert ist, kann Composer nicht sauber durchlaufen.
Gehört wohl zum Thema “explodierte Tiles”. http://composer.waldpfa.de/index.php/MC/Troubleshooting
Wenn man viel experimentiert hat, kann es helfen, den Rechner neu zu starten.
Wenn das auch nichts nutzt, muß man mit kleineren Datenmengen arbeiten.

tt

Tatsächlich kommt landuse=landfill erst nach highway=service. Mit landuse=forest oder farmyard funktioniert es, da die Objekte davor gerendert werden.

Gibt es eigentlich eine Möglichkeit, nachträglich die Reihenfolge der Renderregeln oder Ersetzungen zu ändern?

Wenn ich eine eigene Fläche “unpaved area” definiere, erscheint die doch am Ende der Renderregeln. Somit würde sie doch genauso ignoriert werden, oder?

Danke für den Tipp. Das Problem konnte ich aber bereits lösen (siehe ein paar Beiträge weiter oben).

Gruß, softcake

Ctrl + Cursor Hoch

Danke :wink:

So langsam wird das hier ein “How To…”…

Jetzt habe ich es also geschafft, eine Fläche mit einem vorhandenen Objekt (landfill) zu füllen. Als nächstes versuchte ich, ein neues Kartenobjekt für die Fläche einzubinden. Klappt leider nicht. Es wird wieder nur der highway-Ring dargestellt.

Folgendermaßen bin ich vorgegangen:

  • Kartenobjekte: Neues Objekt
    → Garmin-Katalog → Freies Objekt wählen → ID 44, Lake → umbenannt in “Area unpaved”
    (ID 44 wird soweit ich weiß sonst nicht verwendet)
    → Darstellung “grau/braun”
    → Anzeigen (Häkchen)
    → Reihenfolge angegeben (9)
    → Anpassung Farbe (mittleres graubraun)
    → Name “Unbefestigte Fläche”

  • Renderregeln: Neues Objekt
    → Typ Polygon
    → Tag landuse = “area_unpaved” (gibt’s noch nicht)
    → Zoomlevel 22
    → Kartenobjekt auswählen (“Unbefestigte Fläche” aus Kartenobjekte)
    → Layer “Land use area”
    → Anschließend Eintrag am Anfang der Liste einsortiert (wegen folgender Ersetzung)

  • Ersetzungen

    Bedingungen:
    area gleich yes
    highway vorhanden
    surface entspricht gravel|unpaved

    Aktionen:
    Tag setzen: landuse = area_unpaved (siehe Renderregeln)
    Tag entfernen: highway
    Tag entfernen: area

Der Eintrag landuse = area_unpaved erscheint im Wizard samt Renderregel und Ersetzung. Funzt trotzdem nicht.
Habe ich was vergessen/übersehen/falsch gemacht?

Danke, softcake

Hallo,

zur Abwechslung mal eine Verständnisfrage:

Was bewirkt eigentlich das Herabsetzen der maximalen Nodes pro Kachel? Ignoriert M_C dann alle Nodes ab einer gewissen Anzahl? Werden die Kacheln anders aufgeteilt? Gibt es dann mehr Kacheln?

Habe mir gestern die aktuellen Daten der Germany+50 heruntergeladen und versucht, meine Karte zu aktualisieren. Leider kommt nun in der commands.log die bekannte Meldung “…There is not enough room…”. Wenn ich nun wie empfohlen die max. Anzahl der Nodes pro Kachel herabsetze, werden wieder Bereiche entlang der Kachelgrenze einfach gekappt.

Man liest, im Falle des “not enough room…”-Fehlers soll man die Daten vorher splitten. Man bekäme dann aber eine Reihe von OSM-Dateien. Welche nehme ich dann? So ganz steige ich da noch nicht durch…

Wie schaffen es eigentlich andere ganz DE zu generieren, während ich mit meinem kleinen Ausschnitt ständig gegen die Wand fahre…?

Danke & Gruß,

softcake

Richtig, es werden mehr und kleinere Kacheln erzeugt.

Leider ist diese Fehlermeldung von mkgmap sehr ominös - sie kommt bei Kacheln, die im Vergleich deutlich weniger Nodes enthalten als andere ohne Fehlermeldung. Auf der mkgmap ML war keine Antwort zu bekommen, was es jetzt genau ist oder was man für eine bessere Aufteilung tun muß.

Ich habe derzeit auch ein Problem mit einer Gegend in Portugal, die ich überhaupt nicht verarbeitet bekomme und arbeite an einer Verbesserung der Aufteilung. Leider ist das ohne konkrete Infos was die Fehlermeldung überhaupt meint, ziemlich schwierig zu erraten. Ich vermute es hat etwas mit der Anzahl von langen Linienzügen, insbesondere Höhenlinien zu tun.

bye
Nop

Speziell in meinem Fall sind die Höhenlinien ausgeschaltet. Dafür befindet sich aber ein Monstrum von Waldgebiet im betroffenen Bereich.

Für’s Erste werde ich wohl nicht umhinkommen, meine Karte (100x90km) in einen Ost- und Westteil aufzuteilen.

softcake

Das würde meine Vermutung bestätigen. Entweder ist es die Anzahl an langen Linienzügen oder ein Monsterobjekt ist allein schon zu groß für irgendeine Grenze im Garminformat/mkgmap.

Du könntest auch das betroffene Segment unter Werkzeuge/Kartensegmente suchen, kopieren und von Hand in zwei Hälften aufteilen.

bye
Nop

Wenn ein Objekt in D zu groß wäre, hätten wohl noch andere Karten Probleme :wink:

Nicht unbedingt. Wenn aus irgendwelchen anderen Gründen das Objekt zufällig zerschnitten wird, tritt kein Problem auf. Wenn der Splitter von mkgmap die Lösung des Problems kennt und berücksichtigt, tritt es bei der Toolchain auch nicht auf.

bye
Nop

Noch eine andere Frage:

Hat man in Map Composer eigentlich insofern Zugriff auf Wanderweg- oder Bikeweg-Relationen, dass man den Eintrag in ref=* anzeigen lassen kann?

Hintergrund: Häufig ist das ref-Tag nur in der Relation gesetzt, nicht am Weg selbst.

Danke & Gruß

softcake

Hallo,

neues Problem(chen) mit meiner Karte:

Ortschaften, welche mit place=village getaggt sind, werden an meinem Legend HCx nicht angezeigt. Auch in der Suchfunktion werden sie nicht gelistet.
Das ist mir auch schon bei anderen OSM-basierenden Karten aufgefallen. town, suburb wird angezeigt.

Also tausche ich ganz einfach in den Ersetzungen das place=village durch ein place=town aus. Leider hat das überhaupt keinen Effekt.
Genausowenig, wenn ich in den Renderregeln bei villlage nicht auf “Dorf” zeige, sondern auf “Stadt”.

Weiß jemand Rat?

Gruß, softcake

Ich wieder.

Wie man in diesem Thread nachlesen kann, kämpfe ich nach wie vor mit Problemchen bei der Erstellung meiner Karte. Jetzt habe ich gesehen, dass am Ende der Datei commands.log steht:

OMP: Warning #2: Cannot open message catalog “1031\libguide40ui.dll”:
OMP: System error #126: Das angegebene Modul wurde nicht gefunden.
OMP: Info #3: Default messages will be used.

Kann mir jemand sagen, was das bedeutet? Vielleicht ist hier ja der Hund begraben…

Grüße, softcake