Maperative - gesperrte Begriffe und Filterfrage

Hi!

ich habe einmal zwei Frage zu Maperative.

1.) kann es sein das es gesperrte Begriffe für den Bereich vor dem “:” gibt bzw. auch was die Benennung der Bilder betrifft und wenn das der Fall sein sollte sind diese irgendwo dokumentiert.

Beispiel:

historic boundary_stone : historic=boundary_stone OR (boundary=marker AND historic=yes)

hat nicht funktioniert - aber ein “s” mehr und des ging - auf zwei Installationen !

historic boundary_stones : historic=boundary_stone OR (boundary=marker AND historic=yes)

Dann eine zweite Frage…

Es sollen historische Dinge gezeichnet werden und die Rule sieht bisher so aus…

                ....
		memorial plate : memorial:type=plate
		memorial stolperstein : memorial:type=stolperstein 
		
		historic stone : historic=stone
		historic tower : (historic=monument AND man_made=tower) OR (historic=yes AND man_made=tower)
		historic boundary_stones : historic=boundary_stone OR (boundary=marker AND historic=yes)
		historic archaeological_site : historic=archaeological_site
		historic building : historic=building
		historic wayside_cross : historic=wayside_cross
		historic memorial : historic=memorial AND NOT memorial:type=stolperstein
		historic pillory : historic=pillory
		historic ship : historic=ship

Die Plate wird nochmals überzeichnet mit dem Monument-Symbol obwohl schon zuerst definiert. Der Weg, wie beim Stolperstein ausprobiert (Ausschluss) ist ja wohl etwas mehr als umständlich und schwer erweiterbar wenn viele POI unterschieden werden soll.

Kann jemand weiterhelfen ?

Gruß Jan .-)

Moin,

Soweit ich es verstanden habe, unterstützt Maperitive bei den Features keine Reihenfolge - jede Zeile wird für sich betrachtet.
Aber durch geschickte Feature-Namen kann man das dann bei den Rules per *, if und else steuern.

Gruß
Georg

Wenn ich mich noch richtig erinnere unterstützt Maperative Reihenfolge. Und zwar beim Zeichnen, was unten steht wird zuerst gemalt, steht es weiter oben im Dokument wird es darüber gemalt (oder ganau andersherum, einfach mal austesten)
Die Reihenfolge wie du es definierst spielt keine Rolle, sondern die, in der du die Zeichenbefehle setzt.

EDIT: Dies gilt nur für einen Typ, zuerst werden Flächen gemalt, dann Linien und obendrauf Punkte.

Viele Grüße

Moin Jan,

nochmal etwas deutlicher für Dein memorial-Problem:


features
        points
                memorial plate : memorial:type=plate
		memorial stolperstein : memorial:type=stolperstein
                memorial : historic=memorial

rules
	target : memorial*
			
		if : memorial plate
			<definiere plate symbol>
		elseif : memorial stolperstein
			<definiere stolperstein symbol>
		else
			<definiere allgemeines memorial symbol>		
				
		<zeichne symbol>

Man muss halt alle memorial in einem target abarbeiten - und darf nicht noch eine spätere rule für historic memorial erstellen.
Die würde ja sonst dann halt ebenfalls greifen - und eben drüber zeichnen.

Alternativ ist evtl. auch die Verarbeitung mit for / elsefor möglich - müsstest Du mal ausprobieren.

Zu Dem Problem

historic boundary_stone : historic=boundary_stone

das nicht funktioniert hat:
Evtl. mag maperitive es nicht, das Feature name und OSM value identisch geschrieben sind (siehe Unterstrich) - das hast Du mit dem zusätzlichen s vermieden, könntest Du aber auch mit einem Leerzeichen statt Unterstrich vermeiden.
Das ist aber nur eine reine Vermutung, bei weitem kein Wissen.

Gruß
Georg