OSM Composer V0.8rc1

Das mit dem Default Shop funktioniert wie erwartet per Ersetzung,
dafür habe ich eine weitere Frage betreffen Ersetzungen.

Wenn ich anhand verschiedener Renderregeln meine Icons unterscheide (z.B. für Caste, Burg, Schloss, Festung und das alles auch noch jeweils als Ruine),
dann funktioniert das prima für alle Punkte aber nicht für Tags auf Flächen.

Auch eine Ersetzung für historic=castle: “Icon auf Fläche setzen” funktioniert nicht wie erwartet, da jetzt alle Flächen-Castles das gleiche Symbol erhalten.

Habe ich das richtig verstanden, dass ich bei “Icon auf Fläche setzen” zwingend die endgültige Renderregel angeben muss?

Falls ja, bedeutet das, dass ich meine unterschiedlichen Renderregeln alle nocheinmal als Ersetzung für die Flächen eingeben muss.
Oder wäre auch folgende Ersetzung machbar:

Bedingung: historic entspricht castle|…
Aktion: Icon auf Fläche setzen mit gleichen Tags wie die Polylinie.

Das bedeutet, ich möchte als Regel nicht gleich die Renderregel angeben sondern vorerst mal einen POI erzeugen und dabei die TAGs erhalten.
Dieser POI soll dann mit den vorhandenen Renderregeln gemappt werden.

Walter

Ja.

Ja.

Nein, es ist nicht möglich, kaskadierende Ersetzungen zu machen. Objekte, die bei einer Ersetzung erzeugt werden, sind endgültig und werden nicht nochmal ausgewertet.

Sowas wäre zwar rein technisch machbar, aber viel zu kompliziert zu durchblicken. Dabei können auch jede Menge unerwünschte Wechselwirkungen entstehen, die sehr schwer zu finden wären. Die Ersetzungsregeln zu kopieren ist zwar umständlicher, aber dafür versteht man was gemeint ist.

bye
Nop

Ich würde es so machen.
Zuerst deine Ersetzung machen und Punkt und Weg anhaken. Weg schließt nach meinen Erfahrungen die Fläche mit ein (ist ja ein geschlossener Weg). Wichtig: Hier nicht “dannach abbrechen” anhaken.
Dann machst du unterhelb dieser Ersetzung eine neue Ersetzung nur für den Weg wo als Bedingung der geänderte Tag überprüft wird und unter Aktion wird dann das Icon gesetzt.

Hallo Henning, vielen Dank für den Tipp, so werde ich es machen.

Hallo Nop, vielen Dank für die Erklärung. Wechselwirkungen sollte man natürlich nicht provozieren.

Hier noch eine kleine Liste meiner Findings:

  • Bei den Ersetzungen funktioniert das Kopieren von Einträgen nicht, der Eintrag ist anschließend leer.
  • Wenn ich bei “Karte installieren” die Option “MapSource Integration” aktiviere, ist der Registry-Eintrag anscheinend fehlerhaft. MapSource startet erst dann wieder, wenn ich den Eintrag händisch lösche.
  • Wenn ich bei den Renderregeln den Wert für “Value” leer lasse (ist das eigentlich irgendwo sinnvoll?), dann bekomme ich beim Aufruf von mkgmap eine nichtssagende Fehlermeldung.
  • Wenn ich bei den Kartenobjekten einen Eintrag deaktiviere, dann bleibt das Symbol (falls eines geladen war) sichtbar.

Das sind alle Auffälligkeiten, die ich finden konnte. Vielleicht ist die eine oder andere ja sogar bereits behoben.
Mein Plan ist übrigens auch bereits fertig, jetzt gehe ich an den Feinschliff (kleine optische Verbesserungen).

Walter

Das ist schlichtweg nicht implementiert.

Welches Betriebssystem? Unter Windows7 macht MapSource Probleme.

Nein, das ist nicht sinnvoll. Mann, du probierst Sachen aus. :slight_smile: Eingabe wird jetzt erzwungen.

Klar, er ist ja immer noch verknüpft, nur nicht mehr aktiv.

bye
Nop

Hallo Nop,

ich habe den Wert bei den Renderregeln nicht absichtlich weggelassen, sondern irgendwie vergessen. Wenn es jetzt gleich bei der Eingabe geprüft wird, spart es die Fehlersuche.

Bei den Ersetzungen ist es wohl nicht möglich, den “Kopieren” Eintrag aus dem Kontext-Menü zu streichen.
Ich habe mir mehrere Einträge überschrieben, bevor ich gemerkt habe, dass gar nicht kopiert wurde.
Noch toller wäre es natürlich, wenn man die Einträge wirklich kopieren könnte.
Beim Kopieren wäre es auch meist wünschenswert, (z.B. bei einer Renderregel), dass der neue Eintrag direkt nach dem bestehenden einsortiert wird.
Das ist aber vermutlich aufwändiger zu programmieren, als ihn ans Ende zu setzen.

Ich arbeite mit Vista 32-bit, aber wenn es auch unter Windows7 bekannterweise Probleme gibt, dann forsche ich hier nicht mehr weiter.

Wenn ich ein Symbol mit einem Grafikprogramm bearbeite, dann ist es gar nicht so leicht, das neue Symbol mit gleichem Namen als Kartenobjekt angezeigt zu bekommen.
Irgendwie merkt sich Composer das alte Symbol in einem Cache, selbst wenn ich zwischendurch ein anderes Symbol zuordne.
Mein Trick ist derzeit, das neue Symbol z.B. Name2.png zu nennen, dann klappt es einwandfrei.

Walter

Bzgl. dem Registry-Eintrag: Hier unter Vista64 gibts keine Probleme…
Ist der Registry-Eintrag denn an der Richtigen Stelle in Software/Garmin/MapSource/Families/ ?

Das mit dem versehentlichen Überschreiben ist schon eine Weile behoben.
http://wiki.openstreetmap.org/wiki/DE:OSM_Composer#Versionsgeschichte

Die anderen Sachen sind sehr aufwändig und lohnen sich nicht wirklich.

Das sollte eigentlich klappen. Den 64-bit Haken hast Du nicht versehentlich aktiviert?

Das ist nicht Composer, sondern Java. Nach einem Neustart siehst Du die aktuellen Symbole.

Hallo Nop,

der 64-bit Haken ist nicht gesetzt.

Bezüglich Ersetzungen warte ich mal die endgültige Release ab, dann ist das Verhalten sicher besser.

Ich habe heute irrtümlich eine nicht existierende POI-ID verwendet (2f 21) und habe keine Warnung erhalten.
Falls möglich, wäre das sehr brauchbar.
Der TYP-File Editor hat mich darauf aufmerksam gemacht.
Er hat auch noch eine zweite Meldung beim Öffnen des Typ-Files geschrieben:
“File contains unsorted elements (point) and this causes problem with visibility in GPS.”
Ich kann jedoch keine Probleme feststellen, ist das eine berechtigte Meldung und wie kann ich die Sortierung steuern?

Bezüglich der kommenden Feature hätte ich einen Wunsch.
“Statistik gekürzt, es werden nur noch Tags mit mindestens 3 Verwendungen angezeigt”
Wäre es möglich, den Wert 3 als Parameter änderbar zu machen.
Wenn ich testhalber mit einer sehr kleinen Karte experimentiere, dann sind auch 2 Parameter oft bereits Wert, beachtet zu werden.

Grüße
Walter

Technisch kein Problem. Allerdings kenne ich die Grenzwerte nicht sicher. Darum habe ich keine harte Kontrolle eingebaut, sondern nur meine Vermutung in die Anleitung geschrieben. Wenn Du eine zuverlässige Quelle für die Werte hast, kann ich das gerne einbauen.

Die Meldung sagt mir gar nichts. Der einzige Hinweis den Google findet, behauptet, sie sei Unfug.

Der Wunsch kam grade noch rechtzeitg. :slight_smile:

bye

       Nop