Wir haben in einem Parallelthread über place-Repräsentationen von admin Objekten gesprochen, und aus diesem Anlass hatte ich mir ein bisschen den derzeitigen Stand des tagging solcher Objekte angesehen.
Zuerst die leichtere Kost, hier ist “Deutschland” als Punkt:
https://www.openstreetmap.org/node/1683325355
Die ganzen Namen, Abkürzungen und IDs mal weggelassen, bleiben diese tags übrig:
capital_city Berlin
currency EUR
place country
population 81879976
source OS OpenData StreetView
source:sqkm CIA World Factbook
sqkm 357022
wikidata Q183
wikipedia de:Deutschland
Als Kartenanbieter der selbst die Grunddaten erhebt, haben wir einen tag mit einer Flächenangabe von der CIA?
Abgesehen davon dass man hier gut sehen kann, wie wenig Sinn “source” als Objekttag macht, sind da zwar ein paar Wiederholungen (im Abgleich zum Rest von OSM) drin (z.B. capital city obwohl das auch schon an anderer Stelle mind. 2x steht), aber eigentlich ist das noch ziemlich niederschwellig und so 1-2 tags mehr sind vom Ressourcenbedarf nicht der Rede wert.
Jetzt zu den härteren Brocken:
Deutschland als administrative Fläche (relation type=boundary)
https://www.openstreetmap.org/relation/51477
gefilterte tags:
admin_level 2
border_type country
boundary administrative
currency EUR
default_language de
flag http://upload.wikimedia.org/wikipedia/commons/b/ba/Flag_of_Germany.svg
note this is the full administrative area including borders in territorial waters
note:2 see also relation id:1111111 for the equivalent relation using multilinestrings
note:3 see relation id:62781 for the landmass only (multipolygon, not boundary)
timezone Europe/Berlin
type boundary
wikidata Q183
wikipedia de:Deutschland
Semantisch dachte ich bisher, type=boundary wäre für eine Fläche, aber mit dem tag “border_type” bezieht man sich explizit auf die Grenzlinie, oder? Der border_type tag ist für unterschiedliche Arten von Grenzen, laut Wiki z.B. maritime Grenzen, importierte Grenzen, laut taginfo aber real wohl vorwiegend als Redundanzebene von admin_level benutzt? https://taginfo.openstreetmap.org/keys/?key=border_type#values
Scheint jedenfalls ein tag für Linien zu sein und nicht für Flächen. Hier löschen, ok?
place=country scheint zu fehlen, ist auch nicht ganz klar, was das mehr aussagen würde im Vergleich zu admin_level=2 und boundary=administrative. Sollte man das ergänzen?
Die Relation 1111111 ist seit 4 Jahren gelöscht, vermutlich gute Entscheidung damals, danke WB.
Die Relation 62781 (D. Landmasse) ist dagegen bereits in der epischen Version 2325, und erwartungsgemäß unvollständig (nicht die komplette Landmasse). Da es sich hier um ein theoretisches Konstrukt handelt, das man problemlos aus Deutschland minus die Seeflächen berechnen kann, plädiere ich mal wieder dafür, die Relation ersatzlos zu löschen. Einspruch?
Richtig krass redundant sind die Member von Deutschland, weil da alle Bundesländer nochmal als “subarea” drin sind. Komplett mit ihrer ganzen Geometrie. Wieso das denn? Das braucht man doch explizit nicht, darum haben wir doch eine räumliche Datenbank und hierarchische admin_level tags?
Die Deutschlandrelation (51477) ist ihrerseits auch Mitglied in unterschiedlichen Relationen, z.B. gibt es die redundante Relation “Eurozone” https://www.openstreetmap.org/relation/12729625 die alle Geometrien der Länder beinhaltet, in denen der Euro eingeführt ist, obwohl es dafür bereits den schlichten tag “currency” gibt, der genau gleich viel Informationen enthält (ausser dem Link zu https://www.wikidata.org/wiki/Q8268 evtl. ist das der Grund für die Relation?). Da fehlt übrigens noch ein name:de, falls sich jemand verewigen will.
Weitere Relationen in denen Deutschland Mitglied ist:
Organisation des Nordatlantikvertrags (steht so in OSM) https://www.openstreetmap.org/relation/12733310
EU https://www.openstreetmap.org/relation/2668952 (laut description ohne Überseeterritorien und andere Teile die nicht zur EU gehören)
Mitgliedstaaten der Europäischen Union https://www.openstreetmap.org/relation/13376469 (Gesamtgebiet aller Länder die zur EU gehören, also auch Gebiete die nicht zur EU gehören sondern nur zu einem Mitgliedsstaat).
Fehlt da nicht noch eine Relation für die assoziierten Länder?
Im Ernst, wozu brauchen wir eine Relation, die Mitgliedsstaaten der EU heißt und wo alle Gebiete drin sind, auch die die nicht zur EU gehören? Denselben Effekt könnte man doch auch mit einem einfachen tag erzielen, oder? Und eine für die Eurozone, obwohl bereits ein einfacher tag etabliert ist, der das Problem löst? Die type=treaty Relationen, genauso wie die default Speedlimits und bundeseinheitlichen Feiertage halte ich andererseits für relativ harmlos, weil diese exotischen Relationstypen von den meisten Anwendungen vermutlich übersprungen werden, aber wer sich ein räumliches Extrakt mit allem erzeugt, wird die natürlich auch verarbeiten müssen, und die Hauptdb wird natürlich auch damit belastet und muss Änderungen an den Membern verfolgen etc.
Wie steht ihr zu diesen Relationen, bringen die irgendwem was? Wollen wir demnächst alle Handelsverträge auch noch einpflegen in OSM?