Elemente mit mehreren gleichwertigen Tags/Features

Hallo,

immer wieder findet man Objekte mit mehreren gleichwertigen Tags, z.B. “natural=cliff” + “tourism=viewpoint” bei Klippen mit schöner Aussicht. Ich setzte in solchen Fällen zwei Punkte, einen mit “natural=cliff” und einen mit “tourism=viewpoint”. Andere geben einem einzelnen Punkt beide Tags. Gibt es hier eine empfohlene Vorgehensweise?

Viele Grüße
Ebbe73

Warum nicht auf einen einzelnen Punkt? Solange keine Zusatztags angegeben werden stören sich die ja nicht…

Und wenn du beides in verschiedene Punkte machst, dann wird eine Suchanfrage z.B. nach “Ein Kliff mit einer Brück” ziemlich kompliziert.

Wenn Du einen Node mit mehreren Haupt-Tags setzt, dann ist das Ergebnis auf den Karten meist unbefriedigend.

Bei Mapnik erscheinen erst mal beide Icons, werden aber übereinandergemalt oder das, das als zweites gemalt werden würde, wird ausgeblendet. Welches sichtbar wird, hängt von den Rendereregeln ab.

Bei den Garmin-Karten taucht auf jeden Fall nur eines der Icons auf, und zwar das, für das zuerst eine Renderregel gefunden wird.

Wenn Du willst, daß Deine POIs auf Karten zu sehen sind, solltest Du zwei Nodes anlegen.

Hallo,

ich würde - wenn es eben geht - einen Node setzen und die Infos dort reinpacken! So, wie es in der Realität auch ist.

Wenn die Renderer unbefriedigende Ergebnisse liefern, ist das eben ein Render-Problem.

Gruß Andreas

Das ist genau das Problem. Die Zusatzattribute sind so unstrukturiert, dass man sie oft nicht einem Haupttag zuordnen kann. Das fängt doch schon bei name=* und operator=* an.

Also kann man wirkluch nur die wenigen Tags auf einen Nodes zusammenlegen, die wirklich ohne Zusatzatteibute auskommen.

Und gibt es plötzlich neue Zusatzattribute und dann fängt man an, die Nodes wieder auseinanderzufriemeln.

Fakt ist doch (leider), dass das augenblickliche Tagging-Schema kein sinnvolles zusammenlegen erlaubt, deswegen tue ich das grundsätzlich nicht. Ich arbeite nunmal gerne systematisch, also entweder/oder und nicht mal so und mal anders.

Detlef

Kann man natürlich so machen. Wenn alle Renderer solche Nodes weglassen und außerdem eine sinnvolle Zuordnung von Zusatztags nicht möglich ist, dann mappst Du halt für die Tonne.

Nee,

ich mappe für die Datenbank!

Enn an dem gleichen Mast eie Haltestelle ist und ein Mülleimer hängt, ist das die gleiche Koordinate und der gleiche Node. Wenn die Renderer das nicht darstellen, liegt der Mangel dort. Oder man setzt zwei nodes an der gleichen Position, dann schlagen die Validierer zu. Und die Renderer fallen da auch drüber.

Ich halte überhaubt nichts davon, mein Mappingverhalten an Renderer anzupassen. Wichtigt ist eine saubere Datenbasis. Wenn die gerenderten Karten (noch) schlecht sind, muss man dort nachbessern. Und ich glaube nicht, dass man alle nodes auf einmal in der gleichen Karte darstellen kann.

Zugegeben, wenn ein Kaugummiautomat und ein Zigarettenautomat am gleichen Mast hängen, lässt sich das nur über zwei nodes lösen. Mappingvorgaben (und Datenbank?) geben das nicht her.

Aber das wird ja schon lange diskutiert. Da liegt grundsätzlich was im Argen. dgdg hat vollkommen recht. Er taggt halt so herum. Da müssen endlich vernünftige Regeln her! Comunity ist toll! Hat aber auch seine Grenzen.

Genug gejammert.

Bitte bitte nicht für die Renderer taggen!!

Andreas

Stimme Henselfamily voll zu.

Das ist auch keine Glaubensfrage ob man für Renderer mappt oder nicht. Es ist einfach ein NoGo für Renderer zu mappen, weil hierdurch die Daten verfälscht werden.
Überleg mal wieviele Renderer es gibt. Es gibt ja nicht nur Mapnik und Osmarender, sondern auch noch die Wanderkarte, die Cyclemap die ÖPNV-Karte und noch viele, viele mehr. Mappt man nun für die Renderer kommt man mit OSM nicht weit, weil es irgendeiner immer anders darstellt als man es will. Deshalb MÜSSEN sich die Renderer an UNS anpassen, nicht wir an sie!

Schon mal drüber nachgedacht, daß es vielleicht einen GRUND gibt, wenn es KEIN Renderer anzeigen kann?

gleiche Koordinate =/> gleicher Node
edit: Übersetzung: aus gleicher Koordinate FOLGT NICHT gleicher Node

Gleicher Node sollte bei gleichem “Objekt” verwendet werden. Der Mülleimer ist nicht dasselbe wie die Haltestelle, also macht man zwei OSM-Objekte (in diesem Fall Nodes) draus.

Ein OSM-Objekt für jedes Objekt der Realität zu verwenden (egal, ob ein Objekt in einem anderen oder sehr nahe bei einem anderen liegt oder subjektiv “dazu gehört” – das wäre höchstens eine Relation), widerspricht keineswegs einer sauberen Datenbasis. Es behebt auch sämtliche Probleme mit der Zuordnung von Zusatzattributen. Wann immer es ein potentielles Problem mit Zusatzattribut-Zuordnung gibt, zeigt das untrüglich, dass man hier zwei in der Realität verschiedene Dinge in ein OSM-Objekt gepresst hat.

Das hat nichts mit “Taggen für den Renderer” zu tun, denn nicht alles, was ein Renderer nicht darstellen kann, ist deswegen logisch oder richtig. :wink:

Vielleicht brauchen wir auch ein anderes Taggingschema. Ich denke ein riesen problem ist, dass Mapper und Programmierer hier viel zu wenig zusammen arbeiten. Die Taggingschemen denken sich größtenteils die Mapper aus, ohne zu wissen ob es Programmiertechnisch sinnvoll ist.

Nicht das ich falsch verstanden werde. Ich unterscheide zwischen taggen und mappen. Getaggt werden muss für die Programme die die OSM-Daten auswerten, also auch die Renderer. Diese müssen das taggingschema verstehen können. Und das funktoniert nur wenn man hier mit den Programmierern zusammen arbeitet und beide Seiten verstehen was die andere Seite will/braucht.

Aber Mappen, also Nodes, Linien und Flächen an die korrekten Stellen setzen und zeichnen, machen wir für die Datenbank, da hier die Koordinaten so genau wie nur möglich sein müssen um auch zukünftigen, intelligenteren Programmen eine möglichst genaue Anzeige zu ermöglichen.

Also mappen für die Datenbank und taggen für die Auswertesoftware [edit] (Renderer, Router, etc.) [/edit].

Das sehe ich ähnlich. Gerade das Beispiel des Mülleimers und der Haltestelle zeigt doch das Problem. Den Mülleimer kann man gut als einzelnes Objekt sehen, welches exakt an der Stelle des Nodes steht. Aber bei der Haltestelle sieht das doch schon ganz anders aus, der Bus hält normalerweise nicht exakt an der Stelle des Schildes. Das würde letzterem nicht gut tun. :wink: Die Haltestelle ist ein viel stärker abstrahiertes Objekt als der Mülleimer, da sie mehr als das eigentliche Schild umfasst.

Derartige ungleiche Objekte dann miteinander zu einem Node zu kombinieren, bildet die Realität deshalb meiner Meinung nach auch nicht besser ab als zwei getrennte Nodes.

Ich denke hier gings auch nicht um den Mülleimer an einer Haltestelle, sondern um den Mülleimer der an einer Laterne oder sonstigem Pfahl hängt der auch noch für was anderes verwendet wird.

Dann erkläre mir doch mal bitte, wie ich name=* und operator=* für die unterschiedlichen Tags vergebe, wenn ich sie (weil gleiche Koordinate) in einem Node vereinigen soll. Das gibt doch das Tagging-Schema überhaupt nicht her.

Einfaches Beispiel: Tankstelle mit gleichzeitiger Poststelle (exakt an der gleichen Position). Wie tagge ich das?

Die einzige Regel könnte doch, wenn überhaupt nur sein: lassen sich die unterschiedlichen Objekte überhaupt in einem Node sinnvoll taggen oder nicht.

Ich hatte es oben schon geschrieben, solange das Tagging das nicht hergibt, werde ich mir nicht bei jedem Objekt wieder neu einen Kopf machen, ob das nun in diesem Fall gerade geht oder nicht.

Detlef

Darum braucht man natürlich zwei Nodes, und genau das habe ich doch auch gefordert.

Falls man oben meinen durchgestrichenen Folgepfeil missverstehen konnte, hier noch mal klar:
Zwei unterschiedliche Dinge sollten mit zwei Nodes dargestellt werden, auch wenn sie die gleiche Koordinate haben.

Wie Tordanik schreibt: Wir taggen Objekte: also nicht den Mast sondern den Muelleimer und die Haltestelle. Das sind zwei Nodes. Dass die an der gleichen Stelle sind, ist Zufall und Renderer und Validator muss damit klarkommen.
Uebrigens ist es jetzt schon so, dass in Innenstaedten die Tags teilweise so dicht liegen, dass sie auch bei groesster Aufloesung locker uebereinander gemalt werden und nichs brauchbares mehr lesbar ist.

Noch eine Ergaenzung:
Ein Objekt ist ja nicht nur ein Node sondern auch eine Flaeche.
Ein Gebaeude ist ein Gebaeude (=yes). Die Funktion ist aber vielleicht ein Friseur, ein Fitnessstudio und eine Baeckerei (gleichzeitig).
Also eigentlich sollte die Flaeche keine weiteren Tags bekommen, sondern der Frisur etc mit zusaetzlichen Nodes getaggt werden.
Aenliches fuer Sportplaetze, Krankenhaus etc.

Zugegeben: ich habe es bisher auch nicht so gemacht :frowning:

Guenter

Willst du dann eine Uhr mit Temperaturanzeige (wie sie bei vielen Banken steht) auch als 2 Nodes mappen? Das fänd ich jetzt wieder unsinnig, denn es ist ja ein Gegenstand.

Deswegen bräuchten wir dringend ein anderes Tagging, bei dem es problemlos möglich ist, an einen Node oder auch an eine Fläche mehrere Objekt anzuhängen. Dann steht der Node aber nicht mehr für ein Objekt sondern nur noch für eine Koordinate.

Genau so habe ich seinerzeit angefangen, weil es logisch und einfach war. Aber aufgrund anderer Meinungen hier im Forum und der gängigen Praxis in meiner Umgebung, habe dann leider auch kreuz und quer getaggt. Jetzt versuche ich es wieder systematisch mit getrennten Nodes für getrennte Funktionen.

Detlef

Wenn als Objekt nur Uhr und Temperaturanzeige , nicht aber Uhr mit Temperaturaneige definiert ist: 2 Objekte
das ist das gleiche wie Baecker und Friseur, vieleicht seltener getaggt.
Guenter

@dgdg
Das Darstellungsproblem wird durch ein anderes Konzept nicht unbedingt geloest: das Problem gilt auch fuer nebeneinanderliegende Gebaeude und ist eindeutig ein Renderproblem.

Wenn der josm bei Flaechen keine weiteren “functions” sondern nur “features” vorschlagen wuerde, wuerde es schon helfen. aber offenbar gibt es ja dazu bisher keine Einigkeit.

Guenter