Moin

Auch von mir zum Thema paar Denkanstöße, da ich mich mit
dem Thema auch schon öfters befasst habe...

Frederik Ramm schrub:
> das Thema taucht immer wieder auf - wie tagge ich einen
> Fussweg/Radweg/Buergersteig/Wirtschaftsweg, der parallel
> zur Strasse verlaeuft.

In der Tat... *seufz*
Diese Unklarheit mit ihren negativen Folgen bzgl. Rendern etc.
hat mich bisher davon abgehalten, mich ums Karlsruher
Radverkehrsnetz zu kümmern (neben paar Unklarheiten bzgl.
detaillierter Erfassung der vielen Besonderheiten an Radwegarten,
Benutzungspflichten etc.)

> Grundsaetzlich, das ist mittlerweile jedem klar, gibt es die
> Moeglichkeit, zusaetzliche Tags an den "Haupt-Way" dranzubasteln,
> oder aber man zeichnet den neuen Weg einzeln ein.
> Beide Verfahren haben Vor- und Nachteile. Eventuell muessen
> je nach Situation beide eingesetzt werden.

Habe die Tage auf
http://wiki.openstreetmap.org/index.php?title=De:Bicycle/quellen
paar Gedankenfetzen hinterlassen:

* Gedankenfetzen "Wie mappen"? entweder:

** Radinfrastruktur, sofern (halbwegs) straßenbegleitend,
    stets in highway-tag unterbringen?
*** pro: Renderer hätten sofort den Zusammenhang
     aller "Spuren" (Fahrbahn, Rad- und Gehwege) 1)
*** contra: Renderer stellen das derzeit nicht da. 2)
*** contra: sehr umständliches tagging, insbes.
     wenn je nach Fahrtrichtung unterschiedlich 3)
*** contra: dann empfindlich gegen Ändern der Richtung 3)
*** pro: In Zukunft könnte noch mehr am highway dran hängen müssen
     (Fahrspuren je Richtung, spurenabhängiges Navigieren =
     rechtzeitiges Einordnen, wie es schon etliche Navis anbieten),
     dann macht's nichts, wenn auch noch Radanlagen dranhängen 3)

** Radinfrastruktur stets auf eigenen ways, egal wie nahe an Fahrbahn
*** pro: einfacheres und sichereres taggen 4)
*** contra: komplizierteres Rendern, ggfs. gegenseitige Verdeckung
     von Fahrbahn oder Radweg
**** Problem muss aber sowieso gelöst werden, weil es auch Straßen
      mit mehreren Fahrbahnen betrifft (Autobahn, Anliegerfahrbahn)
      oder mit Gleiskörper in der Mitte oder andere Parallelitäten
     (Fluss neben Straße, Feldweg neben Straße, landuse-way neben
      Straße etc.)

** beide Lösungen nebeneinander nutzbar 5)

1) sie nutzen es derzeit nicht, denn es gilt:
2) Was ein deutlicher Nachteil ist, wenn man a) das Ergebnis seiner
    Arbeit nicht sieht in den Hauptkarten und viele Radfahrer hier
    hätten wohl zumind. die wichtigsten Infos drin, weil gerade DAS
    ein Unterschied zu kommerziellen Karten wäre
    Für ganz genaue Detaillierung (Anzeige Radwegbreite etc.) wäre
    vermutlich eine eigene Karte besser, aber für eine Übersicht,
    wie man am besten von A nach B kommt, sollten grunddaten in der
    Hauptkarte drin sein.
3) wurde ja auch hier schon angerissen
4) Vor allem, wenn's an großen Kreuzungen kompliziert wird, wenn
    Radler von A nach B ganz anders geführt werden wie Autofahrer
    Anbiegeanweisungen eines Navis führen dann eher in die Irre,
    wenn sie nicht über die anders strukturierte Radwegführung routen.
    Abbiege-Restrictions können zudem für Radler anders sein als
    für Autofahrer etc.
5) nach der bisherigen Diskussion würde ich fast erweitern auf:
    alle drei Lösungen nebeneinander nutzbar, nämlich

einfaches Mappen/taggen: highway=primary (cycleway=track)
einfaches Mappen/detailliertes taggen: highway=primary mit way1...n left/r
detailliertes Mappen/einfaches (o. detailliertes) taggen: eigene ways

> Es ist ein kompliziertes Thema, das nicht auf Deutschland beschraenkt
> ist, aber hier wird es als besonders wichtig angesehen.

Ja, wir Deutschen mochten es schon immer etwas genauer :-)

> Das Thema wird ganz bestimmt nicht durch Diskussionen auf der
> Mailingliste geloest werden.

Oops... Jetzt haben wir hier aber schon angefangen :-)
Aber Ideen sammeln kann man ja schon mal. Man weiß ja nie,
ob man für nachfolgendes Zeit hat oder es zu weit weg ist...

> Was wir brauchen, ist eine Handvoll Leute, denen das Thema
> am Herzen liegt,

Diese Voraussetzung ist gegeben... :-)

> und von denen je mindestens einer sich mit einem der
> wichtigen Editoren, einem der wichtigen Renderer und einer
> Routingsoftware auskennt,

Nun ja, nur als Nutzer...

> dazu noch ein paar erfahrene Mapper, und dann sollen die
> sich uebers Wochenende irgendwo einsperren und sich eine
> Loesung ausdenken und die umsetzen (d.h. Editor, Renderer
> usw. anpassen und ausprobieren).

So a la Karlsruher Hausnumerierungsschema?
Ich wage aber zu bezweifeln angesichts der Komplexität,
dass ein WE reicht... Wer sponsort einen 2-wöchigen Urlaub ...

> Dann sollen sie sich eine kleine Stadt schnappen und

... in einer kleinen Stadt am Mittelmeer oder so :-)

> alles nach ihren Loesungsvorschlaegen umbauen und auf
> diese Weise einer praktischen Ueberpruefung unterziehen.
> Und dann ist die Sache reif, um von allen anderen auch
> benutzt zu werden.
> In meinen Augen ist das eines der grossen Themen, die
> geloest werden muessen,

In der Tat.



Sascha Silbe schrub:
> 1. Separat vs. shared way: Sobald Nicht-Straßenteile wie
>    z.B. ein Grünstreifen dazwischen sind, sollte ein
>    separater Weg benutzt werden
>    PS: Wenn ich so recht drüber nachdenke, ist für mich der
>    Grünstreifen einer Autobahn Teil der Straße - ich würde
>    deshalb eher folgende Kriterien ansetzen:
>    - unterschiedlicher Verlauf der Teilwege (z.B. Radweg,
>      der zusätzliche Schwünge macht)

Eben... Welcher Grünstreifen ist wirklich relevant...
Welcher Schlenker hat wirklich eine Auswirkung auf Karte und Router
Schwer abzugrenzen.

>    - unterschiedliche Verbindungen; wobei man sich das auch
>      noch genauer überlegen muß - es ist ja völlig normal,
>      daß verschiedene Spuren woanders hinführen (s.a. unten).

Auf der Fahrbahn kann man aber Spuren wechseln.
Zwischen Radweg und Fahrbahn kann man nicht überall wechseln.
Vor paar Tagen erst wieder mal erlebt. Linksseitiger Radweg
ignoriert rechtsseite Einmündung völlig... *grummel*

> An anderen Stellen dagegen muß man über den Bürgersteig fahren
> (hier in Tübingen haben wir so einen Fall), um von Straße zu
> Straße zu kommen. Letzteres ist übrigens momentan nicht abbildbar.

Hast Du einen Link zu einem Google-Luftbild für diese Stelle oder
Ortsangabe? Sowas kann schon mal vorkommen, muss aber nicht
unbedingt so relevant für Karte oder Router sein, um es in
OSM reinzwängen zu müssen...

> Gibt es eigentlich irgendwo Straßen, die z.B. einen Bürgersteig
> in der Mitte haben?

Karlsruhe vom Mühlburger Tor weg zum Kaiserplatz könnte
man so bezeichnen...
Und vergiss nicht Straßenbahnhaltestellen in der Straßenmitte! :-)
Auch so 'ne Art Gehweg :-)

Rene Falk schrub:
> > Ich bin sowieso total gegen "links" und "rechts". Das kommt mir
> > einfach unprofessionell vor. Ist das echt ueblich in der
> > Strassenbau-Szene, dass man von linken und rechten Seiten einer
> > Strasse spricht?
>
> Ist meiner Meinung ein schlechtes Beispiel. Bundesstraßen haben im  
> allgemeinen schon eine Richtung durch die Stationierung. Aber  
> natürlich hast Du recht, das sollte mal "professionell" geklärt  
> werden. Vermutlich kann man über die amtlichen Straßenverzeichnisse  
> die Richtung klären, solange diese keine reinen Bestandslisten sind,  
> was ja auch vorkommen kann. Aber dann hat man immer noch keine Regel  
> dafür.

Solche Straßenlisten, wenn überhaupt existent, wären nicht
allgemein verfügbar. Allgemein verfügbar sind nur die Richtungen
der gemappten ways in OSM und da bietet sich an, mit links
und rechts in Bezug auf den way zu arbeiten und zwei Sorten
"way umdrehen" zu haben, eine mit und eine ohne Umdrehen der tags.
Hängt nur ein oneway=yes dran, kann man mit letzterem die
Einbahnstraßenrichtung korrigieren.
Ersteres könnte umdrehen, sofern es in den Tags auftaucht:
left <--> right
forward <--> backward
1 <--> -1 bzw. s.u.
1 <--> n, falls Spuren von ways wie vorgeschlagen durchnumeriert werden
ähnliches für incline

oneway=yes könnte man mit oneway=forward gleichsetzen,
damit man beim umdrehen oneway=backward bekäme.
Wäre auch nützlich, wenn die Richtung eines Tags der
eines anderen tags entgegengesetzt wäre, wofür mir aber gerade
kein Bsp. einfällt.
Ach, sehe gerade, dass es nun oneway=-1 gibt. Auch gut...
forward/backward gibt's aber für bushaltestellen, wenn ich das hier
richtig las?

Sebastian Hohmann schrub:
>  highway=tertiary
>  ways=4
>  way:1=footway
>  way:2=cycleway
>  way:3=tertiary
>  way:4=path

Wäre eine Alternative zu left/right oder Ergänzung.
Wobei man streiten kann, ob man die beiden Fahrstreifen der tertiary
gleich direkt mit way:3 und way:4 definiert, weil man das ja eh
bald streifenweise definieren wird wegen fahrstreifenabhängiger
Navigation, Einschränkungen fahrtrichtungsabhängig oder ein
way:3.lanes=3 anhängt...

> Wie willst du das dann machen? -1 für links neben der Mitte und
> +1 für rechts? Was ist mit 0? Und wo ist überhaupt die Mitte?
> Die physische Mitte lässt sich ja nicht immer genau ausmessen.

Über 1...n oder -n ... +m kann man noch streiten.
Letzteres hat den Vorteil, dass man 0 als Mitte der Geometrie
des ways definieren kann.

0 ist entweder "nix" wenn es nur ein schmaler Grünstreifen ist
oder der Trennstrich zwischen den Fahrbahnen.
Wobei genau das kann man natürlich angeben:
way:0=green
way:0=Fahrstreifenbegrenzung durchgezogen einfach/doppelt o. gestrichelt

Oder 0 ist eben Geometriemitte = rechter Radweg...
Wahre way-Gesamt-Lage könnte später aus Spurenbreiten grob korrigiert  
werden...

Oder es ist was reales.
way:0=tram (wenn man nicht gleich beide Gleise einzeln...)
way:0=cycleway bei der erwähnten Bundesstraße :-)
way:0=canal soll auch mal vorkommen...

Damit hätten wir schon mal zwei "highway-fremde" Elemente
aus Versehen mit in das System eingebaut hat... Diskussionsbedarf...

Nicht zu vergessen amenity=parking als Parkstreifen aus dem
anderen thread enbauen in das System...

Interessante Erweiterung des Systems, damit man den way
nicht jedes Mal auftrennen muss, wenn der Parkstreifen mal
paar meter unterbrochen ist...:
Nodes könnten tags tragen wie:

way:2=stopping:parking
way:2=starting:bus_stop
am einen Knoten

way:2=starting:parking
way:2=stopping:bus_stop
an einem folgenden Knoten, wenn Parkstreifen kurz durch Bushalt
unterbrochen.

stopping <---> starting muss natürlich auch umgedreht werden, s.o.
"ing" wegen Verwechslungsgefahr zu "stop" in bus_stop o.ä.

Dann könnte man sich auch überlegen, ob man nicht

way:all=starting:bridge;starting:layer.1
way:all=stopping:bridg;stopping:layer.1

... oder so ähnlich konstruiert oder
way:-2.3=starting:bridge
wenn Brücke nur für die Spuren -2 bis 3 gilt.

Oder man könnte
way:all=starting:render_name way:all=middle:render_name ...
definieren

Es gibt nun mehrere mögliche mapping-Varianten:

1) einfach nur highway=tertiary
    Begleitender Gehweg und lanes=2 werden per Default angenommen
    oder so (Gehweg ggfs. nur innerorts...)

2) highway=tertiary mit Zusätzen wie
    cycleway=yes/track/lane für symmetrische Radwege oder
    railway=tram für Bahn auf Fahrbahn

3) highway=tertiary und
    cycleway=left o.ä. für einfache Fälle unsymmetrischer Radwege

4) highway=tertiary? bundle? ...?
    für kompliziertere Fälle mit Numerierung
    way:2=... etc.

5) separate ways für Fahrbahnen, Radwege, Straßenbahnen, Flüsse
    und was sonst noch so parallel laufen kann (Anliegerfahrbahn,
    Feldweg, ... Landnutzungsgrenzen?) aus historischen Gründen
    oder weil besondere abseitige Wegführung oder komplexe
    Verknüpfungsvarianten dies angeraten erscheinen lassen.

6) Kombinationen aus 5) und 1)-4), denn bei einem Bündel aus
    Hauptfahrbahnen, Anliegerfahrbahnen und anderen Dingen kann
    jede Teil ja auch seine Eigenarten haben (Hat Hauptfahrbahn
    oder Nebenfahrbahn oder beide Parkstreifen, Radwege, ...?)

5) und 6) haben derzeit den Nachteil, dass Renderer und Router
nicht wissen, dass diese zusammengehören. Alles, was parallel
zueinander sein soll, ganz oder abschnittsweise, sollte also
in eine Relation, wobei man den einzelnen Teilen dann eine
role=0 role=1 role=-1 nach obigem Numerierungsschema zuordnen
könnte...
"parallel ... abschnittsweise" deswegen, weil z.B. der Renderer
die Parallelität eventuell nur dann berücksichtigen soll, wenn
bspw. der Radweg in der gerade aktuell gerenderten Zoomstufe
so nahe an der Fahrbahn liegt, dass er verdeckt würde. Man könnte
sagen, dass ab einer gewissen Distanz davon ausgegangen wird,
dass er zu weit abseits läuft und er separat gerendert wird.
Ist ja gerade der Vorteil von 5), dass kurvige Führungen erfasst
werden und dargestellt werden können, wenn man will.
Evtl. sollte man in die role packen können, ob man das will oder
stets parallel zeichnen will...

Ein Router braucht ab dieser Stelle nur noch auswerten... ;-)

Interessant wird an hier die Frage des Renderns...

Bisher wird bei 5)/6) alles separat gezeichnet, in der Regel
kommt es zu wechselnden Abständen und bei vielen Zoomstufen auch
zu ganzen oder teilweisen Verdeckungen...
Unschön, sehr unschön...
Aber es wird gezeichnet. Deswegen wohl so mancher separate
Radweg, wo er eigentlich dicht an der Fahrbahn liegt...

Bei 1)-4) fällt alles außer dem highway=... unter den Tisch.
Weder von cycleway=... noch von railway=... sieht man was...

Gezeichnet wird bei 1)-6) nur mit einer Geometrie, der des ways,
mit nur wenig Gestaltungsmöglichkeiten: Eine dicke Linie in
der Farbe des highways und drunter gelegt eine etwas dickere
Linie für die Bordüre/Perkussion/Randlinie des highways, meist grau.
Oder bei einigen Renderern für bestimmte Wege eine einfache
durchgezogene oder gestrichelte Linie (Tram, Feldweg, Radweg)

Offen ist die Frage, wie man Zusatzinfos zeichnet und besonders
wie man die seitenabhängigen Dinge zeichnet.

Meine Idee dazu: Verschiedenfarbige "Perkussion" des Hauptweges,
evtl. auch mehrlinige Perkussion:

tertiary-Fahrbahn mit beidseitiger Radverkehrsanlage:
dicker teritary-Strich
blaue Perkussion beidseitig

mit Radweg einseitig:
blaue Perkussion auf einer Seite, graue Perkussion auf anderer Seite

Dann hätten wir noch nicht Radweg von Radspur unterschieden.
Wenn man das unterscheiden will:
secondary-orange - blaue Perkussion - graue Perkussion = Radspur
secondary-orange - graue Perkussion - blaue Perkussion = Radweg
nach dem Muster grau = Bordstein

Zweirichtungsradweg = breitere blaue Perkussion
benutzungspflichtig / nicht benutzungspflichtig = dunkelblau / hellblau

Man könnte überlegen:
schmale graue Perkussion = kein Gehweg
breite graue Perkussion = Gehweg vorhanden

Radspur/Gehweg wäre dann neben secondary:
... - sec.orange - dkl.blau - grau breit
Angebotsstreifen/Gehweg wäre dann neben secondary:
... - sec.orange - hellblau - grau breit
getrennter Geh-/Radweg benutzungspflichtig wäre dann:
... - sec.orange - grau schmal (Bordstein) - dkl.blau - grau breit
getrennter Gehweg/"anderer Radweg" (nicht benutzungspflichtig):
... - sec.orange - grau schmal (Bordstein) - hellblau - grau breit
gemeinsamer Geh-/Radweg benutzungspflichtig:
... - sec.orange - dkl.blau-grau breit gestrichelt
Gehweg, Radfahrer frei:
... - sec.orange - hellblau-breit gestrichelt
Fahrradstraße mit Gehwegen beiderseits, nur Radler:
grau breit - dkl.blau - grau breit
Fahrradstraße mit Gehwegen beiderseits, Kfz. frei:
grau breit - hellblau - grau breit
und so weiter ...

oder Gehweg = rote Perkussion

Auf jeden Fall bekämen wir bei Seitenabhängigkeit Probleme
mit dem SVG und der bisher einfachen Geometrie, da bisher
die Perkussion dieselbe Geometrie hat wie der eigentliche way,
nur dass sie breiter ist und eine Ebene tiefer liegt und nur
mit diesem Trick als Perkussion erscheint...

Die Perkussionen bräuchten dann eigene Geometrien, die entweder bei
1)-4) noch relativ einfach aus der Geometrie des ways parallel
zum Rand hin weiter entwickelt werden.

Oder die bei 5) erst aus den Geometrien der beteiligten ways
ermittelt werden müssen:
Entweder ist per role die Mitte festgelegt oder sie wird
selbst ermittelt nach dem Muster
- höchstrangiger highway
- wenn zwei gleichwertige highway parallel die Mittellage ermitteln
- wenn railway dazwischen: diese nehmen
- ... evtl. weitere Fälle

Aus dieser vorgegebenen oder ermittelten Geometrie wird dann
die Geometrie jeder Perkussion ermittelt.
Die müssen aus 5) oder 6) erst noch in die richtige Reihenfolge
gebracht werden.
Dann muss noch die von der Mitte her ermittelte Geometrie der
Perkussion mit der Geometrie des ways verglichen werden (in
Fällen von 6) komplexer...) und entschieden werden (wenn nicht
vorgegeben), ob noch nahe genug für gemeinsames Zeichnen
oder zu weit entfernt und separates Zeichnen notwendig...

Wenn Mitte definiert (way:0=green oder way:0=line) evtl.
entscheiden, ob Trennung durch graue Linie oder ein wenig
Hintergrund dazwischen...

Sortieren und Geometrievergleich dürften nicht ganz trivial sein.
Man braucht Funktionen wie "way n liegt parallel zu way m im
durchschnittlichen Abstand von x" und wie vor mit "... nur im Bereich
bis node k", dan schwenkt er weg oder endet. Die Knoten werden
zudem selten direkt nebeneinander liegen, Zwischenknoten müssen
evtl. gerechnet werden.

Mapnik in python und orp in Perl dürften das hinkriegen,
osmarender-xslt hat aber vermutlich verloren...

Ggfs. muss man noch austüfteln, ob man diese Rechnerei jedes Mal
macht oder die neuen Geometrien zwischenlagert bis sich an den
Geometrien oder tags der ways was ändert (wie zuverlässig
feststellen?), bei [EMAIL PROTECTED] eher nicht möglich...?

Und was macht man mit Querstraßen, die nicht 90° dazustoßen,
aber mit Neben-ways Knoten haben...

Die Ränder von Flächennutzungen könnte man so auch sauber
prallel zeichnen.

Irgendwann wurde auch mal angesprochen, dass Sackgassen, die
nahe an einer Straße enden, oftmals so überdeckt werden, dass
das Sackgassige ger nicht mehr erkannt wird. Packt man bei 5)
den Endknoten in die relation mit rein, wäre das Problem lösbar.
Evtl. muss noch berücksichtigt werden, dass am Ende der Sackgasse
noch ein Geh-/Radweg bis zur Straße nicht untergehen darf.

Oder Verdrängungsfragen von separat gemappten Häusern an der Straße.

Hatte mir schon mal überlegt, ob ich da selbst akitv werde,
weil mich die unschönen Parallelitäten in dne bisherigen Karten
stören, aber in Perl habe ich bisher wenig gemacht, in python nix...
also erstmal nix getan, weil mir das letztlich doch zu komplex wurde...

Ich hege daher Zweifel, ob das mit dem Renderer an einem WE
klappen würde... :-)

So, das war's erst mal, das Bett ruft :-)

Gruß Heiko "Mueck" Jacobs



_______________________________________________
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de

Antwort per Email an