Benennung Städte/Gemeinden/Ortsteile und landuse

Hallo,

Da es mir schon mehrfach aufgefallen ist, folgende Frage:

Ein Stadtteil/Ort/suburb usw bekommt wo seinen place- und name-Tag?
Es gibt die nodes in der Ortsmitte mit
place=suburb/ etc
name=XY
is_in=Stadt/Kreis etc

Dann hab ich hier eine area um die bebauten Bereiche drumrumliegen, die nochmal zusätzlich mit
place=suburb/ etc
name=XY
is_in=Stadt/Kreis etc

getaggt sind.
Was ich nicht mag wenn auf einer Zoomstufe zwei- oder dreimal der gleiche Name auftaucht.
Laut wiki geht beides, aber doch nicht gleichzeitig, oder?

Nächste Frage:
Kommen an landuse-tags Namen?
Zum abgrenzen und benennen einzelner Kaufladen/Werk XY sollen sie ja laut wiki (steht bei retail) nicht benutzt werden, sieht man aber ab und an.
Stattdessen mache ich lieber aus den Mini-industrial-landuses ein großes ganzes und hänge die names entweder an die Gebäude oder an eine blanke area+name.

Wäre ein landuse=residential mit name=Altstadt/ Wohnlage XY denkbar?
Falls nicht am landuse, wo kriege ich Informationen dieser Art unter? place=locality?
Oder ein forest mit name=Sommerholz oä?

moin moin,

ich glaube, dass Ganze hat historische Gründe:

A: zuerst wurde place=* verwendet. Den hat man halt dahin gestellt, wo es passte und war dann happy.
Selbst Suchfunktionen innerhalb von Web-Anwendungen berücksichtigen diese.

B: In letzter Zeit wird das Benennen von Flächen immer aktueller - als tags an landuse-Flächen bis hin bei komplexen Multipolygonen für z.B. Grenzen.
Auch damit kommen gute Anwendungen klar.

Beide Verfahren haben Vor- und Nachteile:
A ist sehr genau, was die LAGE des Namens betrifft und B ist genau, was den BEREICH angeht.

so ist das Suchen von Strassen in Orten bei A ungenau und die Lage einer Beschriftung bei B teilweise echt “blöd”; da liegt der Ortsname schon mal mitten in der Pampa und nicht da, wo er sinnvoll wäre.

Schlimm wird es imho dann, wenn gleichzeite beide Verfahren verwendet werden; dann kommen doppelte Naman beim Rendern vor und ich kann mir vorstellen, dass manche Software auch etwas verwirrt wird.

Ich bevorzuge in solchen Situaltionen (Alt versus Neu) möglichst das neuere Verfahren.
Der einzige mit bekannte Schwachpunkt von Methode B (Taggen der Flächen oder MP) ist die Lage eines eventuellen Namens auf gerenderten Karten. Da könnte man unter Umständen label=* zusätzlich angeben, obwohl das ja Taggen für die Renderer (Ommmmm) ist und auch von allen mir bekannten Renderen ignoriert wird.

Gruss
Walter

Ich habe mit den doppelten Namen beim Rendern auch so meine Probleme

Wie sieht denn eine saubere Lösung aus um das Problem zu umgehen beim Rendern ?

Das doppelte Rendering ist nur ein Symptom; die eigentliche Krankheit ist der doppelte Eintrag.

Ein Städtename gehört in der Regel zuallererst an die Grenzrelation - sofern vorhanden. Ebenfalls üblich ist ein place-Knoten (place=city|town|…). In einer perfekten Welt sind beide per label-Rolle verknüpft; dann kann der Renderer schon ein Doppelrendering vermeiden. Gibt es keine Grenzrelation, genügt zunächst der place-Knoten.

Einen Ortsnamen an eine landuse=residential-Fläche zu taggen, ist meines Erachtens in vielen Fällen nicht sinnvoll. Eine Stadt oder ein Stadtteil ist durch die Gemeindegrenze bestimmt und besteht nicht allein aus dem bewohnten Gebiet, daher sollte landuse=residential i.A. keine name- und place-Tags bekommen. Anders sieht es aus bei Wohngebieten, die einen eigenen Namen tragen, welcher aber nicht zugleich einen eigenen Stadtteil (im Sinne einer administrativen Grenze) bezeichnet. Da kann man überlegen, statt eines separaten place-Knotens die Information (place, name) an die Fläche zu taggen.

Bei anderen landuse-Flächen wie einem Industrie- oder Gewerbegebiet setze ich dagegen den Namen (ohne place) direkt an die Fläche (z.B. landuse=commercial, name=“Gewerbegebiet Grüner Weg”). Hier sollte es auch keine Gefahr von Dopplungen geben.

Leider ist OSM keine perfekte Welt, es steht noch nicht mal irgendwo korrekt wie die perfekte OSM Welt aussehen sollte, meist ist man sich ja noch nicht mal einig wie eine perfekte OSM Welt aussehen könnte …

Wie kann man also in der Zwischenzeit (bis die OSM Welt mal perfekt ist) eine Karte vernünftig rendern ohne die doppelten Namen ?

Wie ist da das saubere Vorgehen ? Um bei der Analogie mit den Symptomen und der Krankheit zu bleiben … welches Medikament gibt es gegen die Symptome ? wenn möglich mit wenig Nebenwirkungen :slight_smile:

Medikamente helfen da nicht (außer vielleicht Kopfschmerztabletten) - OSM ist eher ein chirurgisches Projekt. Einen Vorschlag habe ich schon im vorigen Posting gemacht: name-Tags nur in besonderen Fällen (wo dann auch eine Dopplung mit Grenzrelationen ausgeschlossen ist) an landuse=residential kleben. Für die Verknüpfung von Knoten mit Flächen gibt es die label-Rolle in Multipolygon-Relationen. Sprich: ein Multipoygon anlegen mit den passenden Tags, und den Knoten für die Position der Beschriftung mit der Rolle label in die Relation einfügen. (Erwarte nicht, daß jeder Renderer damit umgehen kann, aber das scheint im Moment die bevorzugte Lösung zu sein.)

Um auf die Medikamente zurückzukommen: eventuell hilft es, den Renderer-Autoren die Pupillen zu weiten (Augentropfen aka trac-Ticket)…

Man ignoriert beim rendern alle nodes, die innerhalb eines gleichnamigen (und gleichwertigen) Polygons mit gerendertem Namen liegen (oder man ignoriert die labels der Polygone je nach Geschmack).

Dieses “und gleichwertigen” könnte ein Problem sein. Beim gängigen Problem dieser Art, name am node und building oder area aussenrum haut das bei mir ganz gut hin, aber da kann man auf gleiche amenity abprüfen. Bei “place” und “admin_level” stelle ichs mir schwieriger vor, das sauber hinzukriegen…

Grüße, Max

  1. so einfach ist es ja nicht. Die nodes sind ja nicht immer innerhalb eines Polygons mit dem gleichen Namen. Es gibt viele landuse=residential Flächen mit Namen neben den place Nodes.

Beispiel hier:

http://www.openstreetmap.org/?lat=49.3351&lon=6.9404&zoom=14&layers=M

Heusweiler steht 5x auf der Karte

  1. wie sollte das praktisch funktionieren? Eine entsprechende Datenbankabfrage würde das Rendern extrem verlangsamen.

Es wird ja immer betont, das nicht für die Renderer gemappt wird … Das halte ich für einen großen Fehler … das Mappen darf keine Sackgasse sein so dass man am Ende nichts mehr vernünftiges aus den Daten machen kann ohne Hochleistungsrechner

Wir mappen zwar nicht für die Renderer, wollen aber dann doch unsere Ergebnisse in einer Karte sehen.
Meiner Meinung nach ist es besser, Ortsnamen an einen extra Node zu setzen. Gesetzt den Fall, du hast ein Landuse=residential in U-Form (z. B. um einen See herum) und gibst ihr einen Namen. Dann kann es passieren, dass der Namen nicht im Landuse, sondern im See angezeigt wird.
Einen Node kannst du dort hinsetzen, wo er deiner Meinung nach am besten passt, also auch auf Stellen im Ort, wo er nicht von anderen Beschriftungen überlagert wird.

Ganz Deiner Meinung. Deine Frage war aber andersrum formuliert: Du wolltest ja wissen, wie man mit dem was wir in der Datenbank haben trotzdem was halbwegs hübsches rendern können. Zur Performance kann ich wenig sagen, ich hab nur ein paar qkm als Spielwiese…

Das bei Heusweiler halte ich für falsch getagt. Ein Teil eines Ortes sollte nicht für sich alleine ein Polygon haben das den Namen des ganzen Ortes trägt.

Falls die einzelnen Teile des Ortes eigene Namen haben, würde ich die eintragen und will die auch auf der Karte sehen. Falls nicht, dann gar keinen Namen für landuse=residential. Die Zugehörigkeit zu Heusweiler müsste man in diesem Fall halt aus der Gemeindegrenze herleiten.

Grüße, Max

Über Sinn und Zweck verschiedener Möglichkeiten kann man leider lange diskutieren, zu einem gemeinsamen Nenner wird mal leider bei OSM selten kommen, wie auch andere “Problem” Taggings zeigen …

Bis man sich (wenn überhaupt) darüber mal einigen kann und bis das auch dann mal umgesetzt wird, braucht man allerdings Lösungen, wie man die vorhandenen inkonsistenten Daten sinnvoll auswerten und verwenden kann.

Daher gibt es da überhaupt einen vernünftigen Lösungsansatz ? Meine Notlösung ist, dass ich einfach gar keine Namen von landuse=residential rendere, was allerdings den Nachteil hat, dass mir da dann einige schon sinnvolle Namen fehlen (z.B kleine Distrikte oder Namen von Stadtvierteln, wo sich aber kein place node richtig anbietet).

Eine Sinnvolle DB Abfrage, die das herausfiltert habe ich leider noch nicht gefunden.

Genau darum geht es mir ja, einen Ansatz wie ich die Daten trotzdem sinnvoll auswerten kann. Der Fall wie hier in Heusweiler tritt sehr häufig auf. Ein Place Node und dann zusätzlich noch die einzelnen landuse=residential Flächen noch mit dem Ortsnamen getaggt.

Dein Ansatz funktioniert wenn da nur eine landuse=residential Fläche mit dem Namen versehen wurde und der place node dann in der Fläche liegt. Aber auch hier glaube ich dass die DB Abfrage bei einer weltweiten DB Abfrage viel zu viel Zeit kostet.

Könnten im Bsp. Heusweiler die abgetrennten Teile nicht abgedeckt werden über ein place-node is_in=XY?
Dass dann nix gerendert würde ist mMn schlicht in Ordnung.