Howto Map a...

Ich finde die Seite http://wiki.openstreetmap.org/index.php/De:Howto_Map_A#H ja unheimlich klasse - aber… Wie mappt man eine Hausdurchfahrt, also eine Straße (Parkplatzzufahrt o.ä.) die durch ein Haus durchgeht? Ist das ein “Tunnel” oder gibt es da noch andere Möglichkeiten?

Zwei Sachen: 1) Der Parkplatz ist bestimmt nur für die Anwohner, stimmts? Dann ist das schonmal highway=service. Den Teil, der unter dem Haus durchgeht, würde ich auch mit tunnel=yes und layer=-1 belegen. Ist denn auch das zugehörige Haus in OSM drin? Mach das doch gleich dazu. 2) Erweitere die Wikiseite Howto_Map_a um die Hausdurchfahrt, damit andere dann auch nachschauen können :wink:

Das genügt. Ein Tunnel ist immer “unten durch”.

Ja gute Dokumentation hilft allen, danke! Gruss, Markus

Oha, warum kein layer? Ich dachte der Renderer müsste wissen, was oben und was unten ist? Oder hab ich was falsch verstanden?

Klar ist das Haus schon drin :wink: @Stammfunktion: Eigentlich ist bei einer Brücke oder einem Tunnel schon alles klar, ein Layer wäre nicht erforderlich. Wird aber trotzdem allgemein mitgetagt…

Jein. Da gibts grad einen Kulturwandel (und das entsprechende Chaos). Da die Renderer früher nicht wussten, was eine “Brücke” ist, hat man ihnen das zu jedem Brückenobjekt dazugeschrieben: “oben drüber!” Jetzt sind die Renderer klüger, sie verstehen alles was man ihnen als Regel gibt. Aber viele schreiben (aus alter Gewohnheit) immer noch zu jeder Brücke: “oben drüber!”… Das Problem dabei: bis jetzt scheinen es einige Renderer immer noch nicht kapiert zu haben? (und solange alle immer wieder “oben drüber!” dazuschreiben, brauchen die Renderer-Verantwortlichen sich diesbezüglich ja auch nicht um Verbesserungen bemühen… :wink: ) Gruss, Markus

Auwei! Das hab ich nicht mitbekommen. Auf der wiki-Seite zum Tag “bridge” steht auch nicht mehr viel zum layer, erst beim komplexen Beispiel. Hab ich das also richtig verstanden, dass layer nur noch benötigt wird, wenn sich 3 oder mehr Sachen kreuzen? Allerdings wäre ein Fall von drei Straßen, wo eine als tunnel=yes eine andere als bridge=yes und die dritte auf dem Erdboden verläuft, auch ohne layer eindeutig :wink: Spätestens ab vier kreuzenden Wegen ists aber unumgänglich.

Hi, also den “Kulturwandel” den ich bisher mitbekommen habe, kommt eigentlich alleine von Markus, der der Meinung ist der Layer wäre zu viel Redundanz. Ich persönlich sehe nicht, warum man den Layer entfallen lassen soll, bzw. nur bei komplexen Fällen darauf zurückgreift. Vielleicht gibt es mittelfristig eine neue Anwendung die was daraus lesen kann. Und wenn nicht hilft es immernoch als Botschaft, dass hier alles normal ist, wenn garnix steht, könnte auch immernoch gemeint sein, dass noch nichts gemapped ist. Gruß und schönes WE zorque

Ich würde auch nach wie vor den Layer mit angeben. Ein Beispiel: http://www.openstreetmap.org/?lat=50.59461&lon=8.49178&zoom=15&layers=0B00FTF Deutschlands einziges voll ausbegautes “Malteserkreuz” das Wetzlarer Kreuz. Hier laufen z.T. 4 Fahrbahnen übereinander und das ganze natürlich auch noch auf Brückenbauwerken. Wie soll da ohne Layer noch eine Unterscheidung stattfinden? Georg

Schade, dass ausgerechnet dort die Brücken nicht getaggt sind… Ich brauchte die verschiedenen Layer hier: http://www.openstreetmap.org/?lat=52.46334&lon=13.45311&zoom=17&layers=B000FTF

@DarkAngel Hallo, kann es sein, dass Du in in Frankfurt und Umgebung aktiv warst? Da mir viele Abläufe noch nicht so klar sind, oft kann ich viele Straßenzüge, die schon mal vorhanden waren, dann nicht mehr finden, suche ich nach einer Möglichkeit Aktivi

@osm_paule Ich habe dort mal eine Weile gewohnt und (quasi aus dem Gedächtnis) ein paar Dinge korrigiert bzw. nachgetragen. Z.B. waren dort viele Straßen nicht verbunden u.ä. Genauso in Finsterwalde. Grundsätzlich bin ich dort aber nicht aktiv dabei irge

Das scheint mir auch so. Wenn man sich die Definitionen der Tags layer oder bridge anschaut, dann steht da eigentlich recht klar drin, dass das layer Tag grundsaetzlich gesetzt werden sollte. Bei all den verschiedenen Kreuzungsvariationen fuer alle Sonderfaelle Regeln fuer alle Renderer formulieren zu wollen macht sicherlich mehr Arbeit (und ist auch schlechter ueberschaubar), als wie angedacht und in den Tags definiert, das layer Tag immer zu verwenden, wenn ein Element physikalisch ueber einem anderen liegt. Gruss Torsten

Ja, so hat jeder Kulturwandel mal begonnen, dass ein einzelner erkannt hat, dass es anders sinnvoller wäre.

Da besteht m.W. schon länger Einigkeit, dass wir Attribute nur dann setzen, wenn sie eine konkrete Aussage machen. Und dass wenn “nichts” steht, dieses a) schon implizit per Regel enthalten ist und b) die implizite Regel nicht “überschrieben” ist, oder c) der Wert für dieses Attribut noch nicht bekannt ist (note=fixme) oder es vergessen wurde. @ Georg: Klar, genau für solche koplexen Situationen ist “layer” gedacht (aber eben nur dann).

Ja, das ist aber ein Relikt aus alten Tagen, wo man glaubte, dass man den Renderern noch bei jedem Element einzeln sagen müsste, dass eine Brücke “oben drüber” geht. Und es ist ziemlich schwierig, hier allen verständlich zu machen, dass eine Brücke *immer *“oben drüber” geht, und man das nicht jedesmal und für alle Brücken wiederholen muss. Sondern eben nur bei komplexen Bauwerken. Immer ieder kommt einer der sagt: wieso? im Wiki steht doch dass…!

Da gibt es eine formale Trennung: Daten werden in der Datebnak beschrieben, Anwendungen und ihre Regeln woanders. Salopp ausgedrückt: “wir arbeiten nicht für die Renderer”, oder eben genauer: Attribute gehören in die DB, Regeln für die Darstellung in die Programme und das CSS der Renderer. Gruss, Markus

Beim layer Tag steht, dass dieses anzuwenden ist, wenn zwei Elemete physikalisch uebereinander liegen. Das ist keine historische Altlast, das ist einfach eine sinnvolle Verwendung fuer ein sinnvolles Tag. Und nur, weil sich zufaellig aus dem logischen Zusammenhang in dem einen oder anderen Sonderfall ergibt, dass die eine oder andere Information redundant ist, so sollte sie meiner Meinung nach trotzdem angebracht werden. Nicht fuer irgendwelche Renderer, sondern fuer einen konsistenten Datenbestand. Als Beispiel: Wenn eine Strasse den namen “Bundesstrasse” traegt, so duerfte sie in den meisten Faellen auch eine Bundesstrasse sein. Trotzdem kaeme keiner auf die Idee, deshalb das tag primary wegzulassen. Oder noch offensichtlicher: ref=“A *” wuerde ja auch reichen, warum sollte man soeine Strasse zusaetzlich als motorway kennzeichnen? Also ich bleibe dabei: Das layer Tag sollte grundsaetzlich immer da gesetzt werden, wo zwei Elemente physikalisch uebereinander liegen.

Das mit der Einigkeit bei OSM ist so eine Sache. Es ist leider so, dass die meisten Kartographen gar nicht wissen, welche Tags alle ueberhaupt zur Verfuegung stehen und bei einer einfachen Strasse gesetzt werden koennten/sollten. Das sieht man ja alleine daran, wie selten z.B. Strassenbeleuchtung, Hoechstgeschwindigkeit oder Anzahl der Fahrspuren miterfasst werden. Bei fehlenden Tags da pauschal einen Default-Wert anzunehmen ist grob fahrlaessig. Und deshalb ist es m.E. auch sinnvoll, implizierte Werte noch mal explizit zu bestaetigen. Soviel zum Thema Einigkeit. Gruss Torsten PS: Wer sich an einer seiner Meinung nach ueberholten Definition im Wiki stoert, der sollte m.E. ein Aenderungsproposal anschmeissen.

Hallo zusammen, ich möchte noch mal auf die ursprüngliche Frage zurück: Hausdurchfahrt. Das Problem stellt sich aber sicherlich auch bei Stadtmauern, wo die Tore noch vorhanden sind. Müsste man das Haus nicht dreiteilen? Rechts und links der Straße ohne Layer, weil ebenerdig und dort wo die Straße verläuft (und die ersten beiden Etage fehlen) eben als layer=+1? Wenn die Straße Layer=-1 erhält, ist das für mich so, als ob die Straße erst runter und dann wieder rauf geht, sie ist aber im gesamten Verlauf auf einem Niveau. Ein schönes Beispiel ist: http://www.openstreetmap.org/?lat=52.4724&lon=13.30805&zoom=16&layers=B000FTF Das Haus ist 400m lang und vielleicht 80 m breit. Ebenerdig wird es in Querrichtung von einer Straße durchquert und in der ‘1.Etage’ in Längsrichtung von einer Autobahn. Wer vieeeel Zeit hat, kann es ja mal versuchen… aber ich denke, es gibt wichtigeres:-) Gruß Stephan

Der layer gibt das verhältnis von sich kreuzenden wegen zueinander an. Wenn das haus kein anderer Weg kreuzt, dann brauchst dus auch nicht zu teilen.

Oh ja, das Haus kenne ich… Auch ein schönes Beispiel, wo ein Tunnel über eine Brücke führt. :wink: … Die Layer sind dort eigentlich richtig verteilt, wobei die Autobahn eigentlich auch nicht unter dem haus ist, sondern mittendrin…

Ich wuerde wahrscheinlich einfach das komplette Haus mit layer=+1 markieren, was wahrscheinlich auch von der laenge des Hauses abhaengt. Auf alle Faelle habe ich kein Problenm mit deinem Vorschlag. Uebergaenge von einem Layer zum anderen innerhalb eines Elementes sind bislang nicht wirklich definiert, so dass ich die Dreiteilung als nicht zwingend betrachte. Macht es einen Unterschied, ob neben der Strasse noch komplette Raeume vom Haus sind? Wuerdest du das Haus auch dreiteilen wollen, wenn neben der Strasse nur duenne Saeulen waeren?

Sehe ich genauso. layer=0 ist fuer mich ebenerdig (entsprechend der oertlichen Wahrnehmung), mit +1 und -1 druecke ich Abweichungen davon aus. Z.B. markiere ich auch eine ebenerdige Bruecke mit layer=0 und eine Unterfuehrung darunter mit layer=-1. Andere Leute lehnen den Bezug zum ebenerdigen Niveau mit der Begrundung ab, dass man das z.B. an Haengen schlecht festlegen kann. Sofern das aber offensichtlich ist, ist das fuer mich eine weitere Information, die im Datenmodell gespeichert werden sollte. Gruss Torsten

Hallo Torsten,

Genau solches meinte ich mit “und dann kommt immer wieder einer der…”: Layer ist kein Ersatz für (noch) fehlende geografische Höhen. Sondern ein Hilfskonstrukt für komplexe Konstruktionen, die ohne Höhe nicht beschrieben werden können. Layer soll ums himmelswillen *nicht *für alle Elemente verwendet werden, die übereinander liegen. Und: Nein, Brücke ist kein “Sonderfall”, eine Brücke geht *immer *“oben drüber”, das ist das Prinzip von Brücke.

“ref=A *” ist ein zusammengesetzter semantischer Schlüssel: “A” bedeutet: das ist eine Autobahn (und Du hast recht: da bräuchte es kein “motorway”, das ist redundant). “###” ist eine Referenznummer. Zusammengesetzte semantische Schlüssel sind datentechnisch immer problematisch.

Ja, da bräuchten wir dringend eine übersichtliche eindeutige Darstellung. Howto Map A ist ein Anfang.

Ja, das wäre es wirklich. Die vorgeschriebenen, möglichen und/oder impliziten Werte und Unter-Schlüssel müssen natürlich in Regeln beschrieben sein. Gruss, Markus Gruss Torsten

Hallo Stephan,

Ja, das ist wirklich nett! So wie es in der Datenbank steht, würde ich erwarten, dass die Autobahn über den Tunnel führt, und das Haus über der Autobahn “schwebt”… Du beschreibst aber:

Das verstehe ich so: - da gibt es eine Strasse, - darüber führt eine Autobahn - drumherum wurde ein Haus gebaut. Aus der Beschreibung geht noch nicht hervor, ob die Autobahn auf einer Rampe verläuft, die für die Stasse untertunnelt ist, oder ob die Autobahn mit einer Brücke über die Strasse geführt ist. Im ersten Fall könnte man schreiben: highway=irgendwas + tunnel=yes highway=motorway building=yes In zweiten Fall: highway=irgendwas highway=motorway + bridge=yes building=yes Und wenn man es ganz genau nimmt, müsste die einzelnen Etagen des Gebäudes beschreiben. Dazu bräuchte man dann mehrere layer. Und die zwei Etagen mit Strassen müssten geteilt werden. Übrigens: layer ist eine Relativgrösse. Damit kann man nicht ausdrücken, ob etwas unter der Erdoberfläche oder darüber liegt. Einige versuchen das mit Null und ± abzubilden, aber das sind dann Interpretationen, die im layer so nicht enthalten sind. Gruss, Markus