[Talk-de] Ref tag bei ways erforderlich wenn eine relation existiert?

Stefan Dettenhofer (StefanDausR) osm at dentro.info
Mi Mai 6 07:29:13 UTC 2009


Hallo Nop,

Nop schrieb:
> Hallo!
>
> Stefan Dettenhofer (StefanDausR) schrieb:
>   
>> Werner Hoch schrieb:
>>     
>>> ich frage mich ob ich an jeden einzelnen Wegabschnitt ein ref= tag 
>>> anbringen muss obwohl viele Wege ja bereits über eine Relation eine 
>>> ref= tag haben.
>>>
>>> Beispiel1: Jeder Weg mit Referenz:
>>> http://www.openstreetmap.org/browse/relation/3420
>>> operator = Bodenseekreis
>>> ref = K 7735
>>> route = road
>>> type = route
>>>   
>>>       
>> Momentan ist es wohl besser, die Tags doppelt zu führen, da die Relation 
>> mit type=route und route=road von keiner mir bekannten Anwendung 
>> ausgewertet wird.
>> Zukünftig ist es natürlich sinnvoller, gemäß Beispiel 2 zu taggen.
>>     
>
> Auch wenn die Aussage grundsätzlich nicht falsch ist, möchte ich wie 
> immer bei diesem Thema darauf hinweisen, daß vor einer technischen 
> Umsetzung auch noch einige grundsätzliche logische Probleme zu klären 
> und Festlegung zu treffen wären.
> Z.B. was überhaupt passieren soll, wenn der way keine ref hat, aber er 
> gehört zu einer road-Relation, zu einer bus-Relation und zu zwei 
> hiking-Relationen und alle 4 Relationen haben eine ref.
>
> Das mit den Relationen sieht nur auf den ersten Blick einfach aus, ist 
> aber ziemlich knifflig. Stichwort für Informatiker: Mehrfachvererbung.
>   
eigentlich ist es doch ganz einfach (oder sehe ich da was falsch):
1) Es werden erst einmal nur die Relationen gerendert bzw. ausgewertet, 
also nicht mehr auf der Ebene von ways gearbeitet sondern eine Ebenen höher.
2) Dann ist das mit der Vererbung auch kein Problem, denn die Tags in 
der Relation stellen den Defaultwert dar, der durch einen speziellen am 
way überschrieben werden kann.
3) Zuletzt werden noch alle ways, die keiner road-Relation angehören, 
"klassisch" rerendert.

Um bei Deinem Beispiel zu bleiben:
- Mit Hilfe der road-Relation und vererbtem ref-Tag (ggf. auch name-Tag) 
plus aller way ohne road-Relation wird die normale Straßenkarte erzeugt.
- Mit Hilfe der bus-Relation und vererbtem (anderem) ref-Tag werden die 
Buslinien darüber gezeichnet
- Mit Hilfe der hiking-Relation und vererbtem (anderem) ref-Tag (und 
weiteren vererbten Tags) werden die Wanderwege generiert.

Aber das ist doch jetzt im Prinzip auch schon nicht anders, oder?

Gruß,
Stefan

P.S.: So können auch die "Superrelationen" behandelt werden:
Erst alle Superrelationen eines typs, dann alle Relationen dieses typs, 
die keinen Superrelation angehören und zum Schluss alle ways, die keiner 
Relation angehören.





Mehr Informationen über die Mailingliste Talk-de