DE:Betretungsverbote für Gebiete im Winter
Schutz- oder Schongebiete mit Betretungseinschränkungen (am Beispiel einer Karte für Ski-/Wintersport)
Motivation
Wir mappen in OpenStreetMap Schutz- und Schongebiete mit boundary=protected_area. Damit diese Schutz- oder Schongebiete etwas oder jemanden schützen oder schonen, gibt es meist dazu irgendwelche Betretungseinschränkungen für die Fläche (z.B. allgemeines Betretungsverbot während bestimmten Wintermonaten), die mit den access=*-Tags auf der Fläche getaggt und von Renderern dargestellt werden können. Sollten sich die Betretungseinschränkungen für die Fläche außerhalb der Weg von den Betretungseinschränkungen der Wege unterscheiden, so werden statt access=* die Tags access:offroad=* bzw. access:onroad=* gesetzt.
Klarstellung: Die access-Tags auf den boundary=protected_area-Flächen haben KEINE "Vererbung" auf die Wege! Wege sollen, wie bisher, ihre eigenen access-Tags haben.
Detailierte Informationen zu protect_class=* sind unter DE:Key:protect_class zu finden.
Neu seit Februar 2021: Auf Basis dieser Wiki-Seite ist eine weltweite Referenz-Karte für Gebiete mit boundary=protected_area & protect_class=14, die zusätzlich von Skifahrern nicht befahren werden dürfen oder gemieden werden sollen, hier verfügbar: https://www.xctrails.org/schongebiete/SchongebieteWMSLayer.html
Update Juni 2023: Offizielle Quelle für die bisher vom DAV zur Verfügung gestellten Wald- und Wildschongebiets-Daten ist nun https://digitizetheplanet.org/. Der DAV pflegt seinen Datenbestand dort weiter ein, OSM kann dann auf diese Basis manuell aber tool-unterstützt aktualisiert werden. Die entsprechenden Gebiete haben mit dem Juni 2023 Update ebenfalls einen neuen tag 'dtp_id' bekommen, welcher verwendet werden kann, um auf https://content.digitizetheplanet.org/rules/show_protectedarea/<dtp_id> zu verlinken.
Mögliche Darstellung
Eine mögliche Darstellung wäre, z.B.
Nr | Schutz- oder Schongebiet mit | Darstellungsbeispiel | Auswertungsvorschlag für Renderer |
---|---|---|---|
I | Ganzjähriges Befahrungsverbot für Skifahrer | Gelbe Fläche mit durchgezogenem Rahmen | SQL-Query... |
II | Monatsabhängiges oder saisonales Befahrungsverbot für Skifahrer | Gelbe Fläche mit gestricheltem Rahmen | SQL-Query... |
III | Ganzjährige "Bitte um Nichtbefahrung" für Skifahrer | Gelb gestreifte Fläche mit durchgezogenem Rahmen | SQL-Query... |
IV | Monatsabhängige oder saisonale "Bitte um Nichtbefahrung" für Skifahrer | Gelbe gestreifte Fläche mit gestricheltem Rahmen | SQL-Query... |
V | Ganzjähriges Skibefahrungsverbot der Fläche außerhalb der Wege (Wegegebot) | Gelbe, diagonal kreuzende Streifen mit durchgezogenem Rahmen | SQL-Query... |
VI | Monatsabhängiges oder saisonales Skibefahrungsverbot der Fläche außerhalb der Wege (saisonales Wegegebot) | Gelbe, diagonal kreuzende Streifen mit gestricheltem Rahmen | SQL-Query... |
VII | Ganzjährige "Bitte um Nichtbefahrung" der Fläche außerhalb der Wege | Gelbe/Graue, diagonal kreuzende Streifen mit durchgezogenem Rahmen | SQL-Query... |
VIII | Monatsabhängige oder saisonale "Bitte um Nichtbefahrung" der Fläche außerhalb der Wege | Gelbe/Graue, diagonal kreuzende Streifen mit gestricheltem Rahmen | SQL-Query... |
OpenStreetMap-basierende Karten mit Darstellung von Schutz- und Schongebieten
OpenStreetMap-basierende Karten, die Betretungsverbote für Schutz- und Schongebiete bereits darstellen, wären:
- http://osmlayer.bplaced.net/winterLayer
- https://xctrails.org (per Map->Overlays->Schutz- und Schongebiete)
Beispiele
Hier ein paar Fallbeispiele mit Fotos und Taggingvorschläge für Gebiete/Flächen . Diese Taggingvorschläge sind das Resultat der Diskussion aus dem OSM-Forum. Details zu Musterbeispielen wurden auch unter [1] erarbeitet.
Auswertungsvorschlag für Renderer
Ganzjähriges Befahrungsverbot für Skifahrer
where boundary='protected_area' and ( seasonal is null or seasonal='no' ) and ( ski IN ('no','private') or ( access IN ('no','private') and ( ski is null or not ski IN('yes','designated','permissive') ) ) )
Monatsabhängiges oder saisonales Befahrungsverbot für Skifahrer
where boundary='protected_area' and ( ( ( not (seasonal is null or seasonal='no') ) and ( ski IN ('no','private') or "ski:conditional"~'(no|private) *@ *\(?(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) *[0-9]* *[-,\,]? *(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)* *[0-9]*\)?' or ( ( access IN ('no','private') or "access:conditional"~'(no|private) *@ *\(?(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) *[0-9]* *[-,\,]? *(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)* *[0-9]*\)?' ) and ( ski is null or not ski IN('yes','designated','permissive') ) ) ) ) or ( "ski:conditional"~'(no|private) *@ *\(?(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) *[0-9]* *[-,\,]? *(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)* *[0-9]*\)?' or ( ( "access:conditional"~'(no|private) *@ *\(?(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) *[0-9]* *[-,\,]? *(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)* *[0-9]*\)?' ) and ( ski is null ) ) ) )
Ganzjährige "Bitte um Nichtbefahrung" für Skifahrer
where boundary='protected_area' and ( seasonal is null or seasonal='no' ) and ( ski = 'discouraged' or ( access = 'discouraged' and ( ski is null or not ski IN('yes','designated','permissive') ) ) )
Monatsabhängige oder saisonale "Bitte um Nichtbefahrung" für Skifahrer
where boundary='protected_area' and ( ( ( not (seasonal is null or seasonal='no') ) and ( ski = 'discouraged' or "ski:conditional"~'(discouraged) *@ *\(?(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) *[0-9]* *[-,\,]? *(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)* *[0-9]*\)?' or ( ( access = 'discouraged' or "access:conditional"~'(discouraged) *@ *\(?(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) *[0-9]* *[-,\,]? *(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)* *[0-9]*\)?' ) and ( ski is null or not ski IN('yes','designated','permissive') ) ) ) ) or ( "ski:conditional"~'(discouraged) *@ *\(?(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) *[0-9]* *[-,\,]? *(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)* *[0-9]*\)?' or ( ( "access:conditional"~'(discouraged) *@ *\(?(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) *[0-9]* *[-,\,]? *(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)* *[0-9]*\)?' ) and ( ski is null ) ) ) )
Ganzjähriges Skibefahrungsverbot auf der Fläche außerhalb der Wege (Wegegebot)
where boundary='protected_area' and ( seasonal is null or seasonal='no' ) and ( "access:offroad" IN ('no','private') and ( ski is null or not ski IN('yes','designated','permissive') ) )
Monatsabhängiges oder saisonales Skibefahrungsverbot auf der Fläche außerhalb der Wege (saisonales Wegegebot)
where boundary='protected_area' and ( ( ( not (seasonal is null or seasonal='no') ) and ( "access:offroad" IN ('no','private') or "access:offroad:conditional"~'(no|private) *@ *\(?(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) *[0-9]* *[-,\,]? *(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)* *[0-9]*\)?' ) and ( ski is null or not ski IN('yes','designated','permissive') ) ) ) or ( "access:offroad:conditional"~'(no|private) *@ *\(?(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) *[0-9]* *[-,\,]? *(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)* *[0-9]*\)?' and ( ski is null ) ) )
Ganzjährige "Bitte um Nichtbefahrung" der Fläche außerhalb der Wege
where boundary='protected_area' and ( seasonal is null or seasonal='no' ) and ( "access:offroad"='discouraged' and ( ski is null or not ski IN('yes','designated','permissive') ) )
Monatsabhängige oder saisonale "Bitte um Nichtbefahrung" auf der Fläche außerhalb der Wege
where boundary='protected_area' and ( ( ( not (seasonal is null or seasonal='no') ) and ( "access:offroad" = 'discouraged' or "access:offroad:conditional"~'(discouraged) *@ *\(?(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) *[0-9]* *[-,\,]? *(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)* *[0-9]*\)?' ) and ( ski is null or not ski IN('yes','designated','permissive') ) ) ) or ( "access:offroad:conditional"~'(discouraged) *@ *\(?(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) *[0-9]* *[-,\,]? *(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)* *[0-9]*\)?' and ( ski is null ) ) )