Maperative: Flächendarstellung
-
Maperative: Flächendarstellung · Lübeck (Gast) · 12.11.2012 13:15 · [flux]
Moin !
nach der tollen Unterstützung zum Wochenende bin ich noch einmal auf einer anderen Baustelle angekommen die ich bis jetzt nicht in Griff bekommen habe. Es geht diesmal nochmal um die Darstellung von Flächen.
In meinem Beispiel versuche ich auf dem Sportplatz in Albersdorf das leisure=sport_centre darzustellen was nach dem find-Befehl vorhanden ist.
Das Problem liegt in dem Fall vor, wenn die übergreifende Darstellung von landuse=residental (http://www.openstreetmap.org/browse/way/189325812) mit angezeigt werden soll. Dieses überdeckt das sport_centre.
Kann mir einer weiterhelfen ?
Nachfolgend der Rules-Code. Die vollständige Datei ist zu finden unter http://www.tappenbeck.net/forum/maperat … _jt.mrules
Gruß Jan :-)
areas //␣--␣Definition␣für␣die␣Darstellung␣in␣der␣Legendenkonfiguration all␣areas␣: // //␣--␣allgemeine␣Gebäude building␣all␣:␣building␣AND␣@isFalse(amenity)␣AND␣@isFalse(religion)␣AND␣@isFalse(tourism)␣AND␣@isFalse(shop)␣AND␣NOT␣building=church␣␣AND␣NOT␣building=capel␣␣AND␣NOT␣building=cathedral␣AND␣NOT␣building=hotel␣AND␣NOT␣building=supermarket␣AND␣NOT␣amenity=university␣AND␣NOT␣amenity=school //␣townhall␣-␣public␣building //␣--␣Shop //␣--␣Religion building␣church␣:␣((building=yes␣AND␣amenity=place_of_worship)␣OR␣((building=church␣OR␣building=cathedral␣OR␣building=capel)␣AND␣@isFalse(religion))) building␣church␣christian:␣(building=yes␣AND␣amenity=place_of_worship␣AND␣religion=christian)␣OR␣((building=church␣OR␣building=cathedral␣OR␣building=capel)␣AND␣religion=christian) building␣church␣jewish:␣(building=yes␣AND␣amenity=place_of_worship␣AND␣religion=jewish)␣OR␣((building=church␣OR␣building=cathedral␣OR␣building=capel)␣AND␣religion=jewish) building␣church␣muslim:␣(building=yes␣AND␣amenity=place_of_worship␣AND␣religion=muslim)␣OR␣((building=church␣OR␣building=cathedral␣OR␣building=capel)␣AND␣religion=muslim) building␣hotel␣:␣(building=yes␣AND␣tourism=hotel)␣OR␣building=hotel //␣--␣Bildung building␣school␣:␣(building=yes␣AND␣amenity=school)␣OR␣building=school building␣uni␣:␣(building=yes␣AND␣amenity=university)␣OR␣building=university //␣--␣Gesundheit
beach␣:␣natural=beach missing␣:␣note=missing water␣:␣natural=water␣OR␣waterway=riverbank␣OR␣landuse=reservoir␣OR␣landuse=basin village␣green␣:␣landuse=village_green forest␣:␣landuse=forest␣OR␣natural=wood farm␣:␣landuse=farm farmyard:landuse=farmyard grass␣:␣landuse=grass fell␣:␣natural=fell glacier␣:␣natural=glacier national␣park␣:␣boundary=national_park allotments␣:␣landuse=allotments academic␣:␣node[@isOneOf(amenity,␣university,␣college,␣school)]␣area[@isOneOf(amenity,␣university,␣college,␣school)] meadow␣:␣natural=meadow␣OR␣landuse=meadow scrub␣:␣natural=scrub energie_bio␣:␣generator:source␣=␣biofuel nature␣reserve␣:␣leisure=nature_reserve playground␣:␣leisure=playground car␣park:␣amenity=parking track␣:␣leisure=track graveyard␣:␣amenity=grave_yard␣OR␣landuse=cemetery military␣:␣landuse=military␣OR␣military=barracks park␣:␣leisure=park leisure␣garden␣:␣leisure=garden leisure␣pitch␣:␣leisure=pitch leisure␣stadium␣:␣leisure=stadium landuse␣retail␣:␣landuse=retail landuse␣industrial␣:␣landuse=industrial commercial␣area␣:␣landuse=commercial residential␣area␣:␣landuse=residential aeroway␣apron␣:␣aeroway=apron aeroway␣terminal␣:␣aeroway=terminal highway␣pedestrian␣:␣highway=pedestrian orchard␣:␣landuse=orchard farmland␣:␣landuse=farmland quarry␣:␣landuse=quarry leisure␣sports_centre␣:␣leisure=sports_centre
target␣:␣$featuretype(area) define line-style␣:␣none line-width␣:␣1 if␣:␣forest define min-zoom␣:␣10 text-halo-width␣:␣0 font-size␣:␣10 placement-value␣:␣0.01 text-halo-width␣:␣35% text-halo-opacity␣:␣1 text-halo-color␣:␣#F1EEE8 draw␣:␣text define min-zoom␣:␣9 fill-texture␣:␣Textures/W-Mischwald.PNG //fill-color␣:␣#8DC56C elseif␣:␣leisure␣sports_centre define min-zoom␣:␣10 fill-color␣:␣#CCFEF0 elseif␣:␣wetland define min-zoom␣:␣10 fill-texture␣:␣Textures/W-Moor-trans.PNG elseif␣:␣reedbed define min-zoom␣:␣10 fill-texture␣:␣Textures/jt_wetland_reedbed.PNG elseif␣:␣beach define min-zoom␣:␣10 fill-color␣:␣#FEFEC0 elseif␣:␣footway␣area define min-zoom␣:␣10 fill-color␣:␣#FEFEC0 elseif␣:␣farm define min-zoom␣:␣9 fill-color␣:␣#E9D8BD elseif␣:␣farmyard define min-zoom␣:␣9 fill-color␣:␣#DCBE91 elseif␣:␣landuse␣railway define min-zoom␣:␣9 fill-color␣:␣#DCBE91 elseif␣:␣fell define fill-color␣:␣#C5FF5B␣black␣10% elseif␣:␣swimming define fill-color␣:␣#B5D0D0 elseif␣:␣water define fill-color␣:␣#B5D0D0 elseif:academic define fill-color␣:␣#F0F0D8 line-color␣:␣#E5D2CC line-style␣:␣solid elseif␣:␣leisure␣sports_centre define min-zoom␣:␣10 fill-color␣:␣#CCFEF0 elseif␣:␣residential␣area define fill-color␣:␣#DCDCDC elseif␣:␣grass define fill-color␣:␣#CFECA8 elseif␣:␣allotments define fill-color␣:␣#C8B084 elseif␣:␣meadow
....
- Re: Maperative: Flächendarstellung · tunnelbauer (Gast) · 12.11.2012 13:46 · [flux]
Work around:
"fill-opacity" für residential auf "0.25" setzen (und dann bei den Umhüllenden der anderen Flächen eventuell die Lininestärke rausnehmen oder reduzieren)
- Re: Maperative: Flächendarstellung · quasilotte (Gast) · 12.11.2012 14:13 · [flux]
Ich hab zwar deine Rules nicht getestet aber ich würd mal sagen:
elseif : leisure sports_centre
define
min-zoom : 10
fill-color : #CCFEF0
elseif : residential area
define
fill-color : #DCDCDC1. In deinen elseif ist das [ leisure sports_centre ] 2. mal vorhanden - sollte nur einmal.
2. die Reihenfolge ist beim Rendern auch zu beachten! - Da gilt das Target
Hier malst du erst leisure sports_centre und darüber dann residential area ...
was nrtürlich in einem Wohngebiet nicht gut zu sehen ist.Massnahmen:
Reihenfolge umkehren
Transparent füllen entweder wie tunnelbauer empfiehlt mit fill-opacity oder transparenten Texturenen (NSG, Miltitägebiete)
oder als ultimo ins target des entsprechenden Objekts noch: map.rendering.topmost-layer : True einfügen
(verwende ich bei Wasserflächen - da doch recht oft ohne MP Seen in Waldgebieten erfasst werden) - Re: Maperative: Flächendarstellung · Lübeck (Gast) · 12.11.2012 14:21 · [flux]
hi !
danke erst einmal Euch beiden. Das mit dem Workaround würde ich als Notlösung sehen.
Das ich das doppelt hatte war wohl schon betriebsblind. Entfernt!
Die aktuelle Variante steht jetzt unten - aber egel ob residental - sport oder sport - residental, es wird nichts anderes angezeigt!
gruß Jan :-)
target␣:␣$featuretype(area) define line-style␣:␣none line-width␣:␣1 if␣:␣forest define min-zoom␣:␣10 text-halo-width␣:␣0 font-size␣:␣10 placement-value␣:␣0.01 text-halo-width␣:␣35% text-halo-opacity␣:␣1 text-halo-color␣:␣#F1EEE8 draw␣:␣text define min-zoom␣:␣9 fill-texture␣:␣Textures/W-Mischwald.PNG //fill-color␣:␣#8DC56C elseif␣:␣wetland define min-zoom␣:␣10 fill-texture␣:␣Textures/W-Moor-trans.PNG elseif␣:␣reedbed define min-zoom␣:␣10 fill-texture␣:␣Textures/jt_wetland_reedbed.PNG elseif␣:␣beach define min-zoom␣:␣10 fill-color␣:␣#FEFEC0 elseif␣:␣footway␣area define min-zoom␣:␣10 fill-color␣:␣#FEFEC0 elseif␣:␣farm define min-zoom␣:␣9 fill-color␣:␣#E9D8BD elseif␣:␣farmyard define min-zoom␣:␣9 fill-color␣:␣#DCBE91 elseif␣:␣landuse␣railway define min-zoom␣:␣9 fill-color␣:␣#DCBE91 elseif␣:␣fell define fill-color␣:␣#C5FF5B␣black␣10% elseif␣:␣swimming define fill-color␣:␣#B5D0D0 elseif␣:␣water define fill-color␣:␣#B5D0D0 elseif:academic define fill-color␣:␣#F0F0D8 line-color␣:␣#E5D2CC line-style␣:␣solid elseif␣:␣residential␣area define fill-color␣:␣#DCDCDC elseif␣:␣leisure␣sports_centre define min-zoom␣:␣10 fill-color␣:␣#CCFEF0 elseif␣:␣grass define
- Re: Maperative: Flächendarstellung · tunnelbauer (Gast) · 12.11.2012 14:30 · [flux]
Also aus meiner Sicht ist die Definition sports_centre nur einmal enhalten (Zeile 119+461). Zeile 62 ist nämlich auskommentiert.
map.rendering.topmost-layer geht auch nicht, da er sonst das sports_centre über den Platz auch noch legt - das will Jan glaub ich auch nicht...
Wird somit beim Semitransparent bleiben.
- Re: Maperative: Flächendarstellung · quasilotte (Gast) · 12.11.2012 15:17 · [flux]
Die Reihenfolge unter area spielt auch eine Rolle
mit:
leisure sports_centre : leisure=sports_centre
residential area : landuse=residentialwird es gezeichnet und mit
residential area : landuse=residential
leisure sports_centre : leisure=sports_centreüberdeckt.
MHH irgendwie sind da zwei Hirachiegebende Ebenen ist mir da irgendwie noch garnicht aufgefallen. Muß ich selbe mal nachhaken ob das unter elseif andest ist wie in den normalen target's
- Re: Maperative: Flächendarstellung · Lübeck (Gast) · 12.11.2012 20:48 · [flux]
hi !
+1, vielen Dank.
Jetzt nur noch eine Frage zum Schluss - habt Ihr noch einen Trick wie man die Rules am besten bearbeitet (Editor).
So ganz effektiv ist das ja nicht mit dem ständigen hoch und runter scrollen und wieder suchen.
Gruß Jan :-)
- Re: Maperative: Flächendarstellung · EvanE (Gast) · 12.11.2012 22:09 · [flux]
Lübeck wrote:
Jetzt nur noch eine Frage zum Schluss - habt Ihr noch einen Trick wie man die Rules am besten bearbeitet (Editor).
So ganz effektiv ist das ja nicht mit dem ständigen hoch und runter scrollen und wieder suchen.Hallo Jan
Nimm einfach einen Editor, der eine Datei in zwei verschiedenen Fenstern öffnen kann.
Für Windows oder Linux habe ich leider keinen Tipp.
Auf dem Mac verwende ich Textwrangler von BareBonesSoftware.Edbert (EvanE)
- Re: Maperative: Flächendarstellung · mueschel (Gast) · 12.11.2012 23:02 · [flux]
Da kann ich aushelfen:
Notepad++ (Windows)
Kate (Linux, Windows)Beide haben viele nützliche Funktionen: mehrere parallele Ansichten, Bookmarks (Zeilen markieren und zwischen markierten Zeilen springen), Syntax-Highlighting (ok, (noch) nicht für Maperitive), automatische Ergänzung schon einmal benutzter Wörter, automatische Einrückung (gut, das sollte jeder Editor mit Ausnahme des Windows Notepad können).
-
- Re: Maperative: Flächendarstellung · Lübeck (Gast) · 13.11.2012 13:07 · [flux]
Mahlzeit - jetzt ist kurz Zeit für eine Frage.
Kann man eigentlich in Maperitive Variablen definieren die man "oben" zuweißt und im laufe der Rules dann wieder verwendet?
gruß Jan :-)