barrier und landuse am selben Way

Betrifft http://www.openstreetmap.org/way/362447155
Ein großes einzelnes Wohngrundstück, von einer Hecke umgeben.

Tagge ich den Way mit landuse=residential und barrier=hedge, was mir logisch erscheint, dann bekommt in Mapnik die ganze Fläche die Farbe der Hecke, und das Haus wird davon zugedeckt.

Ich könnte natürlich für landuse und barrier zwei koinzidente Wege malen, aber das scheint mir unnötig. Ist das Verhalten von Mapnik hier normal?

Selbes Verhalten beim landuse=allotments direkt südwestlich davon.

–ks

PS: Weg wurde zwischenzeitlich zugunsten des Multipolys gelöscht. Neuer URL: http://www.openstreetmap.org/way/362454298

Ich halte das für falsch, aber laut wiki ist barrier=hedge tatsächlich für Flächen zugelassen. Warum, weiß der Geier.

Also doppelte ways. Na dann. Danke :slight_smile:

–ks

Eine Hecke kann ja durchaus mal einige Meter breit sein - und dann macht eine Fläche durchaus Sinn.

Gibt es dafür nicht den width tag?
Oder wird hier schon wieder einmal für “den” Renderer gemapt? :wink:

Ich werf da mal: https://taginfo.openstreetmap.org/tags/fence_type=hedge (in Verbindung mit fence) in die Diskussion. Ist zwar nich dokumentiert, zumindest finde ich nix, aber ich halte das für recht sinnvoll.

Ich hatte mal die Situation mit umzäunten Militärgebieten, die ich vom Luftbild abgemalt habe - da hab ich immer einen barrier=fence-Way gezeichnet und dann ein Multipolygon mit nur einem outer (nämlich diesem Way) und landuse=military. Gefiel mir am besten, weil ich so zwei verschiedene Objekte für zwei verschiedene Dinge hatte, und es war (zumindest bei nicht trivial-quadtratischem Umriss) leichter zu machen als zwei Ways mit gleichen Nodes.

Bye
Frederik

Das geht natürlich auch, wobei mir ein Multipolygon mit nur einem Element prinzipiell wie Kanonen auf Spatzen vorkommt. Hat hier aber den Vorteil, übereinanderliegende Wege zu vermeiden, sie sich AFAIK nur mit JOSM vernünftig selektieren lassen, falls jemand später das wieder anfassen muß.

–ks

Och, in JOSM einen Node anklicken, einen zweiten für die Richtung, dann einen Kieselstein auf die F-Taste legen und sich einen Tee einschenken :slight_smile:

–ks

In Josm (den kennst du? ;)) den neuen Way anfangen und nach dem 2. Node mit F für “Follow” zum nächsten Node springen. Nur bei “Abzweigungen” musst du manuell weitermachen.

Gruss
walter

Ätsch, ich war schneller :slight_smile: :slight_smile:

–ks

Muss dafür nicht barrier=hedge mit area=yes ergänzt werden?

Sollte man meinen, aber offenbar muß es das nicht.

–ks

Moin,

@Saxonyking:
Muss man nicht - das Feature ist ja bereits als area zugelassen.
Man darf halt lineare geschlossene Hecken nicht als in sich geschlossenen Linienzug in einem einzigen way mappen …
Oder man muss bei einem geschlossenen way immer area=no/yes angeben …
Solch eine Definition ist fehleranfällig.

@–ks und walter:
Wie man’s nimmt - vielleicht seid ihr Beide auch einfach nur zu spät. Selbst ich kann mich noch an die Vor-Follow-JOSM-Zeit erinnern …

Gruß
Georg

Ich bin mir ziemlich sicher, dass vielleicht vor zwei Jahren area=yes gesetzt werden musste um eine Fläche zu füllen, auch wenn es ein geschlossener way war.

Bei Ways, die nicht implizit Flächen bezeichnen, ja. Wenn du eine große Wendefläche in einem Wohngebiet mit einem Way umreißt, kommt highway=residential und area=yes dran, da der Renderer aus highway=* sonst nur eine Ringstraße macht.

Umgekehrt gibt es genug Ways, die per default als Flächen ausgewertet werden, z.B. leisure=*. Hier mußt du area=no dranschreiben, wenn es keine Fläche ist, wenn du z.B. eine Langlaufloipe mappst, da sonst die gesamte von ihr umrissene Fläche eingefärbt wird.

Und bei barrier=hedge ist offenbar die Auswertung als Fläche vorgesehen, im Gegensatz etwa zu barrier=fence, was wirklich nur eine Linie ist. Deshalb werden die hier unterschiedlich ausgewertet.

Das Gute dieser Regelung ist, daß man sich bei vielen Flächen (leisure=pitch) das area=yes spart. Das Blöde ist, daß man immer wissen muß, ob der spezielle Wert als area interpretiert wird oder nicht, ob man was dranschreiben muss.

Ich frag mich gerade, was der Renderer mit dem erwähnten Grundstück jetzt im Detail macht. Einklich müßte er die Hecke immer noch als Fläche rendern (ist ja ein geschlossener Weg) und dann das von ihr umrissene Multipolygon („multi“, haha!) darüberlegen. In dem Fall muß ich dem Way noch ein area=no mitgeben. Aber die Darstellung stimmt immerhin schon mal, ohne daß speziell für den Renderer gemappt wurde. Nur scheint der kleine Handstand leider unausweichlich.

–ks

Und die Hecke ist an keiner Stelle unterbrochen (zB am Eingang)?

Das hing/hängt von den Schlüsseln ab, die du der Fläche mitgibst, area=* funktioniert in beide Richtungen.

Da wir keinen eigenen Flächendatentyp haben, müssen wir uns mit area=* behelfen, oder dem Auswerter die Wahl lassen. Bei vielen Renderern kommt osm2pgsql zum Einsatz, das bei geschlossenen Linien Anhand der Schlüssel entscheidet ("natural=* ist eine Fläche, tunnel=* ist ein Strich, barrier=* Strich, hier die linear/polygon in der 4. Spalte). Wenn osm2pgsql anderer Meinung ist als du, kannst du ihn mit area=yes/no zu deiner Ansicht überreden. Der Renderer könnte das dann nochmal umdeuten und aus seiner “flächen-Tabelle” im Bedarfsfall nur den Umriss holen. Das tun aber nur wenige.

Edit: Hab grad nochmal nachgesehen, weil mich “barrier=* Strich” verwirrt hat. Der osm2pgsql-Style, der von unserem Mapnik verwendet wird, hält barrier=* tatsächlich für einen Strich, hat aber auch eine Render-Regel für flächige Hecken. Die kommt dann zum Zuge, wenn jemand entweder mit area=yes den Heckenring zur Fläche macht, oder der Weg aus anderen Gründen als Fläche interpretiert wird. Letzteres war hier der Fall, weil die Regel “landuse ist eine Fläche” gewonnen hat.

Würde ich annehmen.