Schlagwörter: 

Ansicht von 7 Beiträgen - 1 bis 7 (von insgesamt 7)
  • Autor
    Beiträge
  • #28140

    ThomasMeister
    Teilnehmer

    Hallo zusammen,

    ich habe (wieder) eine Verständnisfrage zur Renderreihenfolge. Ich habe gelesen: „was zuerst in der Theme-Datei kommt, wird zuerst gerendert“. Aber was heißt das genau: es kann sein, dass später etwas „darübergelegt“ wird, nicht mehr sichtbar ist. Oder: Es kann nichts darübergelegt werden, weil kein Platz mehr ist.

    Konkretes Beispiel, aus einem Theme:
    <rule e=“any“ k=“amenity“ v=“fountain“ zoom-min=“17″>
    <rule e=“any“ k=“drinking_water“ v=“yes“>
    <symbol src=“file:/svg/drinking_water.svg“ symbol-scaling=“size“ symbol-height=“16″ symbol-width=“16″ />
    </rule>
    <rule e=“any“ k=“*“ v=“*“>
    <symbol src=“file:/svg/fountain.svg“ symbol-scaling=“size“ symbol-height=“16″ symbol-width=“16″ />
    </rule>
    </rule>

    Die zweite Bedingung trifft ja auf jeden Fall zu, wenn auch die erste Bedingung zutrifft.
    Ist also die Logik „wenn Trinkwasser, dann Trinkwassersymbol und für das andere Symbol ist kein Platz mehr“?

    #28148
    Tobias
    Tobias
    Moderator

    Der Satz bezieht sich auf Linien und Flächen. Für Symbole und Beschriftungen gilt das mit Einschränkung, da diese nach dem Prinzip „wenn Platz“ dargestellt werden. Zum Glück lässt sich das mittels display= und/oder priority= sehr gut beeinflussen (mapsforge 0.5 oder höher notwendig), ich würde bei dem Beispiel von Dir einfach dem wichtigeren (das, was Du sehen willst), eine höhere Priorität geben und fertig.

    #28152

    ThomasMeister
    Teilnehmer

    OK. Danke ;) Das Beispiel habe ich aus einem bestehenden Theme kopiert (ist nicht von mir) und ich war mir nicht sicher, ob das SO funktioniert. Anscheinend schon, da bei der zweiten Regel „kein Platz mehr ist“ (oder)?

    #28154
    Tobias
    Tobias
    Moderator

    Funktionieren tut es, wenn es darum geht, etwas bevorzugt darzustellen. Um 100% sicher zu gehen, arbeite ich dann bei wirklich wichtigen Sachen mit priority oder display=always. „Mit Einschränkung“ bezieht sich darauf, dass bei Linien und Flächen halt alles dargestellt wird, nur übereinander in der Reihenfolge wie es in der XML-Datei vorkommt, während von mehreren caption oder symbol nur eines dargestellt wird (außer display=always).

    1 Teilnehmer(n) gefällt dieser Beitrag
    #28160

    ThomasMeister
    Teilnehmer

    Noch eine kurze Frage (Ich komm mir langsam schon doof vor) :
    Ist es möglich, einen frei wählbaren Text als Caption zu nehmen. Also nichts aus den Daten sondern in dem Beispiel oben das Wort „Trinkwasser“ oder eben nichts oder „kein Trinkwasser“?

    #28162
    Tobias
    Tobias
    Moderator

    Nein, geht nicht. Was möglich ist, erschließt sich am besten aus dem xsd:
    https://github.com/mapsforge/mapsforge/blob/master/resources/renderTheme.xsd

    [/crayon]

    Das bedeutet, für „k“ muss der Wert ein „textKey“ sein. Diese sind auch definiert:

    [/crayon]

    Andere sind leider nicht zugelassen (außer bei Karten V5, die gibt’s nur bei mapsforge direkt, und da sind auch nur in den Karten vorhandene Werte möglich).

    1 Teilnehmer(n) gefällt dieser Beitrag
    #28166

    ThomasMeister
    Teilnehmer

    Schade und VIELEN DANK für die Aufklärung!

Ansicht von 7 Beiträgen - 1 bis 7 (von insgesamt 7)

Du musst angemeldet sein, um auf dieses Thema antworten zu können.