Interessant … wie hast du das denn technisch umgesetzt? Mit Mapnik-Mitteln? Einen ähnlichen Anwendungsfall hat man bei Leuchtfeuern. Da benötigt man variabel lange Kreissegmente.
Das ist eine sql-Funktion “viewpointdirection()”, die das Feld liest, Anfangs- und Endwinkel ggf. berechnet und rundet und die Werte Mapnik-gerecht zurückliefert:
Die 4 Werte für Anfangswinkel und “Breite” des Icons werden dann aus der Datenbank gelesen
(SELECT way,tourism,
(viewpointdirection(direction)).s1 as firstrotation,(viewpointdirection(direction)).a1 as firstangle,
(viewpointdirection(direction)).s2 as secondrotation,(viewpointdirection(direction)).a2 as secondangle
FROM planet_osm_point WHERE tourism='viewpoint')
und an Mapnik verfüttert, das für jedes vorhandene Icon eine Regel hat (also eigentlich zwei Regeln: für das erste und das zweite Segment, falls vorhanden) und dieses Icon um den Anfangswinkel gedreht ausgibt.
Bisschen blöd dabei ist, dass man die Funktion 4x abfragen muss, weil ich keine Möglichkeit gefunden habe, Mapnik einen zusammengesetzten Datentyp auslesen zu lassen. Allerdings ist die Funktion auch recht billig, ein paar Zeichenkettenvergleiche, simple Rechnerei und in den meisten Fällen ist sie sowieso nach ein paar Zeilen Code fertig. Das sollte also den Renderer nicht allzusehr aufhalten.
Jo, wär auch was
Nachtrag: Hab nachgesehn, die OpenSeaMap verwendet ein eigenes, rendererfreundliches Schema für Leuchtfeuer mit seamark:light:(N):sector_start/end. Das könnte man vermutlich direkt an Mapnik weitergeben, ohne Versuche das zu interpretieren. Da sind ja nur Zahlen erlaubt und auch nur je eine pro Schlüssel.
Is ne gute Idee, müsste man aber mal neu erfinden. Was auf der kleinen Spielwiese mit dem halben Alpenraum funktioniert, geht weltweit oft nicht. 1:1 übernehmen geht sowieso nicht, auf dianacht hat man viel mehr Zeit (weil weniger Daten und viel weniger Besucher) und ausserdem ist das nicht mal mit Mapnik gemacht, sondern mit mapserver.
Habe mal bei mir in der Gegen ein paar directions nachgetragen, da meldet sich JOSM mit einer Warnung zu Wort: “ungewöhnlicher Wert von direction” PS: Genau die, die eine von bis Gradangabe mit - haben.
Hoffentlich ändert sich das nun! An Stellen, wo sich Aussichtspunkte häufen, dominieren die “Stachelbälle” das Kartenbild. Manchmal ist weniger mehr: Evtl. stellen wir irgendwann in Zukunft nur noch viewpoints mit direction dar.
Das schreit doch geradezu nach einem Reaktivieren der Wochenaufgabe für die Urlaubszeit… “Aussichtspunkte mit Richtungsangabe versehen”.
Erinnere mich just daran…
Cepesko
Was machen wir dann mit den (zugegebenermaßen sehr seltenen) Aussichtspunkten, von denen man wirklich (fast) 360° Rundblick hat? direction=0-360 dranschreiben? (Ich frage nur, weil ich’s wissen will ;)) Hier z.B. hätte ich ein zwar bescheidenes Beispiel, das aber wirklich einen 360°-Blick bietet …
Ja “0-360”. Wobei das nicht wirklich definiert ist, weil im Wiki steht, dass nur Zahlen 0…359 zulässig sind. “0-359” kommt mir aber falsch und ein bisschen lückenhaft vor
Was die OpenTopoMap betrifft: Die interpretiert “0-360” und “0-359” ohne grosse Auswertung. Bei “SW-SW” oder “289-289” käme sie nach einiger Rechnerei auch drauf, dass man da Rundblick hat.
Gut, vielen Dank! Ich habe mein Beispiel also mal mit direction=0-360 getaggt und werde in Zukunft darauf achten, möglichst oft direction=* anzugeben … Toll, dass Ihr das jetzt darstellt! Wieder ein Punkt für die OTM!
Danke an die Mods, die diesen Teil aus dem OpenTopoMap Thema nach der neuen Feature-Ankündigung von maxbe rausverschoben haben.
Ich habe jetzt auch mal oberflächlich (in einem Monate alten Germany Extrakt) nach tourism=viewpoint in Verbindung mit direction geschaut, und ja, da gibt’s wirklich einiges an seltsamen Werten.
Aufgefallen ist mir neben dem kurzen Bindestrich auch der lange Gedankenstrich, z.B.
0-360
0–360
D.h. wir müssten mal ein paar der QA Tools um weitere Prüfregeln erweitern.
Bei den Himmelsrichtung-Schreibweisen, kommt dann aber wirklich alles mögliche zum Vorschein:
NW-NE
E/S/W
W;NW;N;NE;E
Dann habe ich auch bei einem viewpoint die Angabe
<tag k="direction" v="clockwise"/>
entdeckt, sollte das nicht nur bei Kreisverkehren angegeben werden?
Und auch ich wäre dafür, hier vielleicht doch mal wieder eine Aktion zu starten. Wäre neben einer Wochenaufgabe (die ja meistens nur im deutschsprachigen Raum ausgeführt wird/wurde) auch eine MapRoulette-Aufgabe sinnvoll (habe mich damit leider noch nicht wirklich beschäftigt.
Und bzgl. der Rundumsicht (0-360) habe ich noch keine Meinung, im Notfall kann man es ja auch weglassen, weil es dann eh komplett gerendert würde. Aber ja, das Argument, dass man dann sehen würde, das es jemand überprüft und eingetragen hat, kann ich natürlich nicht außer Acht lassen.
Ich fand eigentlich, dass es erstaunlich wenige Falscheintragungen gibt… Aber jo, könnte man mal aufräumen. Erst mal die leeren directions füllen wäre in meinen Augen wichtiger, aber das schliesst sich ja gegenseitig nicht aus
“NW-NE” ist syntaktisch korrekt, finde ich: Ein Viertelkreis um Norden.
“W;NW;N;NE;E” ist schwierig automatisch zu parsen (die OTM würde es nicht verstehen), aber die konsequente Fortsetzung von “wir lassen zwei Bereiche zu” auf “wir nehmen 5 Richtungen”. “W-E” wäre aber einfacher.
Was mir sonst so aufgefallen ist ausser den Gedankenstrichen: Das Gradzeichen “10°-230°” ist das nächste häufige Problem. “clockwise” und “forward” schlüpfen wohl auch gern mal ins Eingabefeld, wenn der Editor die gängigen Werte vorschlägt. Deutsche Himmesrichtungen (“NO”) kommen auch vor.
und nach ein bisschen Suche habe ich auch herausgefunden, wie es dazu kommt: How to map a Aussichtspunkt
tourism=viewpoint
+ viewpoint_direction=N/E/S/W
+ viewpoint:direction=315-45/45-135/135-225/225-315
Anmerkungen:
Die Blickrichtung (Attributierung mit viewpoint_direction oder viewpoint:direction)
ist im Wiki nicht beschrieben und derzeit noch entsprechend selten.
Öhm und nu? Also weder bei tourism=viewpoint noch bei direction steht so ein Vorschlag beschrieben, wie kommt man also in How to map a auf so eine Idee? Ist das ausbaubar oder sollten wir das lieber unterbinden?
Ich hab mal eine Liste gemacht mit allen directions, die die OTM nicht auswerten kann. Was übrigens nicht heisst, dass es falsch ist und der Umkehrschluss gilt auch nicht. Die Schreibweise mit zwei durch “;” getrennte Bereiche z.B. ist über das Diskussionsstadium nicht rausgekommen, wird aber interpretiert.
(“–” in der Liste ist ein UTF-8 Gedankenstrich, “°” für das Gradzeichen).
Sowas ist ein bisschen frustrierend. Ich dachte, ich hätte die letzten Wochen alles über direction=* und viewpoint=* in deutsch und englisch gelesen und sämtliche Diskussionen verfolgt und hätte mir Mühe gegeben. Aber irgendwo tief im Wiki ist immer noch eine Empfehlung, die man übersehen hat…
Naja, bis jetzt wären es nur 28x viewpoint_direction und 19x viewpoint:direction, dass liese sich meiner Meinung nach in diesem Stadium auch noch ohne größere Probleme ändern. Aber wie gesagt ist halt die Frage, ob die Community diese zwei Tags (aus welchen Gründen auch immer) haben möchte, oder eben doch nur den einen universellen direction-Tag.