Wochenaufgabe Öffnungszeiten

Wer kennt es nicht: Man nimmt den langen Weg zum Lieblingsrestaurant auf sich, nur um auf verschlossene Türen zu stoßen. Es ist Ruhetag oder in selteneren Fällen fällt der Feiertag auf einen Samstag oder Ähnliches. Um dieses Problem anzugehen, wurde in OpenStreetMap seit circa 2008 der Tag opening_hours etabliert. Damit lassen sich in maschinenlesbarer Form Öffnungszeiten in OSM eintragen, sodass ein schneller Blick beispielsweise auf osm24.eu ausreicht, um festzustellen, wann und wie lange eine Einrichtung geöffnet hat (dazu bitte die Legende auf osm24.eu unten rechts beachten). Diese Information hat sich sicher schon für viele als nützlich erwiesen und deshalb hat das Tagging-Schema und die Anzahl der Öffnungszeiten in den letzten Jahren große Fortschritte gemacht.

Die Bestrebung, die Realität so genau wie möglich in OSM abbilden zu wollen, trifft definitiv auch auf das Eintragen der Öffnungszeiten zu. So ist das Schema mittlerweile sehr ausgefeilt und es lässt sich quasi alles taggen. Dies geht von einfachen Wochenplänen über die Angabe von anderen Zeiten für den ersten Montag im Monat bis hin zum Taggen von Feiertagen und/oder Schulferien oder gar die Angabe der Öffnungszeiten in Abhängigkeit zum lokalen Sonnenaufgang. So kompliziert die Öffnungszeiten auch sein mögen, es gibt ziemlich sicher ein Tagging-Schema dafür.

Wie können Öffnungszeiten eingetragen werden?

Zu Beginn ein kleines Beispiel, wie es auch auf der Wiki-Seite zum Tag opening_hours unter Bespiele zu finden ist:

Mo-Sa 10:00-20:00; Tu off

Bedeutung: Geöffnet Montag bis Samstag von 10:00 bis 20:00 Uhr, außer dienstags.

Wie schon geschrieben, wurde in den letzten Jahren ein weitreichendes Schema entwickelt, um Öffnungszeiten einzutragen, und, was noch wichtiger ist, diese auch sinnvoll auswerten zu können. Denn was nützt es, wenn die eingetragenen Öffnungszeiten vorhanden, aber nicht auswertbar sind? Das lässt sich mit anderen Tags vergleichen. Hier sollte ebenfalls auf ein einheitliches Schema geachtet werden, um mit den Daten später etwas anfangen zu können (beispielsweise eine Karte zu generieren). Es wurde versucht, das Schema möglichst einfach und lesbar zu halten, zugleich muss ich aber zugeben, dass es eine gewisse Komplexität erreicht hat und auch von erfahrenen Mappern teils falsch verstanden wird. Um also den oben genannten Ruhe- oder Feiertag richtig einzutragen, ist etwas Übung notwendig. Für den konkreten Aufbau des Schemas sei auf die Wiki-Seite zum Tag opening_hours verwiesen. Für die sehr fortgeschrittenen Mapper gibt es auch noch eine formale Spezifikation in der Netzwolf und ich die „Sprache“ für die Öffnungszeiten spezifiziert haben, beziehungsweise dies immer noch tun.

Kurzum, worauf ist zu achten?

  • Bitte nur Öffnungszeiten hochladen, die maschinenlesbar sind.
  • Die meisten Geschäfte haben an gesetzlichen Feiertagen geschlossen, dies muss über die Angabe von PH off explizit angegeben werden. Siehe auf der Wiki-Seite zum Tag opening_hours unter Elemente.
  • Bei Zeiten, die in den nächsten Tag hineinragen, sollte ein , (Komma) als Trennzeichen zur nächsten Regel verwendet werden. Siehe dazu die Wiki-Seite zum Tag opening_hours unter Bespiele.

Werkzeuge:

Um den Umgang mit den Öffnungszeiten zu vereinfachen, wurden eine Reihe von Werkzeugen geschaffen:

  • Das erste und wichtigste Werkzeug dürfte das Auswertewerkzeug darstellen, mit dem sich Öffnungszeiten schreiben und testen lassen. Es wird jedem ans Herz gelegt, mit diesem Werkzeug vertraut zu werden bevor es ans Eintragen oder Korrigieren von Öffnungszeiten geht. Schaut euch dazu auch die Beispiele an. An dieser Stelle sei noch erwähnt, dass dieses Werkzeug auch eine sehr umfangreiche Eingabe-Toleranz besitzt. Sollte ein Öffnungszeiten-Wert nicht genau dem Schema entsprechen, erscheint ein Hinweis und es wird teils auch angeboten, die Öffnungszeiten zu reparieren. Mit dieser Funktion können Öffnungszeiten von Webseiten oft relativ schnell übernommen werden, indem die Beschreibung von der Webseite kopiert und ins Auswertewerkzeug eingefügt wird. Üblicherweise müssen dann nur noch die Regeln beispielsweise mit Semikolons getrennt werden.
  • Overpass-Abfrage zum Finden von fehlenden Öffnungszeiten.
  • Zur Auswertung gibt es ebenfalls noch die Öffnungszeiten-Karte, auf der mit grünen und roten Kreisen dargestellt wird, ob eine Einrichtung gerade geöffnet oder geschlossen ist. Es gibt noch weitere Symbole, die beispielsweise anzeigen, dass eine Öffnungszeit nicht ausgewertet werden konnte. Für die Legende einfach im Browser nach unten scrollen (nicht die Karte). Die Karte richtet sich primär an Mapper, die gezielt mit Öffnungszeiten arbeiten möchten.
  • Alternativ zur Öffnungszeiten-Karte gibt es noch viele weitere Karten, die Öffnungszeiten ebenfalls darstellen. Empfohlen sei hier insbesondere osm24.eu.
  • Zur täglichen Benutzung hat sich bei mir auf Android die Anwendung OsmAnd bewährt, die in der POI-Suche über die Farbe der Richtungspfeile darstellt, ob die Einrichtung gerade geöffnet hat. Zu beachten ist aber, dass die Auswertung der Öffnungszeiten in OsmAnd noch relativ eingeschränkt ist. Elemente wie Feiertage können noch nicht ausgewertet werden. Ich arbeite langfristig an einer Lösung für dieses Problem. OsmAnd kommt bei mir auch zum Einsatz, um in Geschäften Öffnungszeiten aufzuschreiben. Dazu drücke ich für circa drei Sekunden auf die Einrichtung auf der Karte, bis der Punkt ausgewählt ist (OSM-Bearbeitungs-Plugin muss hierfür aktiviert sein). Anschließend tippe ich auf die Sprechblase und im Kontextmenu auf „POI einsenden“. Dann schreibe ich die Öffnungszeiten in das entsprechende Feld und drücke auf „Ändern“. Zuhause angekommen exportiere ich mir die POIs aus OsmAnd über die Einstellungen unter „OSM-Bearbeitung“, öffne die Datei auf dem Computer in JOSM und führe die Öffnungszeiten mit den – in der Regel schon vorhandenen – Objekten in OSM zusammen.
  • Für JOSM gibt es das OpeningHoursEditor Plugin. Dieses unterstützt aber aktuell nur einfache Öffnungszeiten ohne Feiertage und andere Sonderfälle. Siehe Forenbeitrag. Unabhängig davon wird jede Öffnungszeit vor dem Hochladen von JOSM auf Basis des Auswertewerkzeug geprüft.
  • Für QA-Arbeiten mit JOSM gibt es zusätzlich noch das QAT Plugin. Alternativ kann auch über eine der angegebenen Overpass-Abfragen in JOSM gearbeitet werden.
  • Overpass-Abfragen für Öffnungszeiten mit PH/SH (Feiertage/Schulferien) oder ohne.
  • Für iD gibt es momentan leider noch keine Hilfe bei der Eingabe von Öffnungszeiten. Deshalb die besondere Bitte an die iD Nutzer, die Öffnungszeiten vor dem Hochladen mit dem Auswertewerkzeug zu prüfen.

Auswertung

In der Vorbereitung zu dieser Wochenaufgabe wurde eine statistische Auswertung geschaffen, die nicht nur die Anzahl der Öffnungszeiten auswertet, sondern auch, wie viele Werte maschinenlesbar sind und diese Werte als Graph darstellt. Die Daten für die weltweite Statistik stammen von Taginfo. Um eine regionale Auswertung zu haben, wurde die Statistik noch um eine Overpass API-Anbindung erweitert. Die regionale Auswertung wird im Zeitraum der Wochenaufgabe stündlich aktualisiert.

Ziel

Am ersten Tag dieser Wochenaufgabe existierten weltweit 387 000 Öffnungszeiten, bisher kommen/kamen täglich circa 400 hinzu. Mit Eurer Hilfe dürften wir die 400 000er Marke bis zum 3. Mai sicher knacken können, was meint ihr? Zugleich gilt es, die Anzahl der maschinell auswertbaren Öffnungszeiten wieder zu steigern. Diese hat weltweit seit Beginn der statistischen Erhebungen kontinuierlich von ursprünglich 97,2 % Auswertequote auf 96,8 % abgenommen. Das ist zwar nicht viel, aber der Trend geht nun mal in die falsche Richtung 😉 . Als Grund für die fallende Qualität sehe ich OSM-Editoren, die keine Unterstützung beim Eingeben von korrekten Öffnungszeiten geben.

Fragen und Probleme

Für den Fall, dass ich den einen oder anderen, der noch nicht so viel mit Öffnungszeiten zu tun hatte, mit diesem Beitrag etwas erschlagen habe, möchte ich mich entschuldigen 🙂 Bei Fragen bietet sich folgendes Vorgehen an:

Kommunikation

Zu dieser Wochenaufgabe gibt es einen Thread im Forum und auf Talk-de, in dem ihr Fragen stellen könnt.

Falls ihr auf Twitter über diese Wochenaufgabe berichtet, freue ich mich, wenn ihr den Hashtag #OSMWA1517 verwendet.

Weitergehende Links

Robin `ypid` Schneider

Robin `ypid` Schneider ist aktiver Mapper seit 2013 und hat sein Hauptaugenmerk auf den Bereich Öffnungszeiten gelegt, den er seit 2013 maßgeblich vorantreibt.


Kategorie: Wochenaufgabe

  1. zimba

    @osm24.eu-Empfehlung: Wird eine Adresse vollstaendig incl. “PH” gemappt, steigt die Seite aus und behauptet “No Data”. Die Empfehlung gerade dieser Seite koennte also eher zu Frustration fuehren, die Oeffnungszeiten-Karte machts besser.

  2. In einem etwas älteren User-Diary-Eintrag von mir gibt es auch eine Overpass-Abfrage mit farblicher Visualisierung (MapCSS). Damit kann man abschätzen, in welchen Gebieten man mehr neue Öffnungszeiten mappen kann und wo man eher schon an die turnusmäßige Kontrolle denken sollte, weil schon viele Geschäfte Öffnungszeiten haben.
    https://www.openstreetmap.org/user/Nakaner/diary/21028

  3. Auf die Gefahr hin, etwas im Blogartikel nicht richtig gelesen zu haben… gibt es eine simple Android-App, die man startet und die einem Nodes, für die ein opening_hours sinnvoll ist (Geschäfte, Bars, Kneipen…) in der Nähe (via Location) anzeigt und bei denen man das dann direkt einträgt und dann einen OSM-Commit erstellt?

    Damit würde die online-Erfassung beim Schlendern durch die Stadt ratz-fatz abgehandelt… falls es das noch nicht gibt, müsste man das glatt bauen. 🙂

    • Die beste mir bekannte Android Anwendung ist OsmAnd. Die kann eigentlich alles, was du beschrieben hast, erfordert aber etwas Einarbeitung. Das einzige, was sie meines Wissens nicht kann ist das bearbeiten von vorhandenen POIs. Das müsste man dann noch am Computer machen.
      Alternativ ist mir noch My Opening Hours bekannt.

  4. emilde

    Eine sehr schöne App zum Öffnungszeiten mappen ist Hoursome – leider nur für iOS.
    Eine der Apps, die mich mein iPhone vermissen lassen – andererseits gibt’ auf dem iPhone halt kein OsmAnd…

  5. Ein Mapper

    Zu explizitem “PH off”: IMHO sollte “PH off” implizit sein (d.h. angenommen werden, wenn es fehlt).

    * Mo-Fr 08:00-12:30 bedeutet laut [1] wie zu erwarten “geöffnet Montags bis Freitags von 8:00 bis 12:30”. Samstag/Sonntag sind nicht angegeben -> geschlossen.
    => Es ist inkonsistent und nicht intuitiv, ein explizites “PH off” zu verlangen.
    * Das “PH off” wird “oft vergessen” [2] (vermutlich aus eben diesem Grund).
    * Was ist mit “SH”? Muss auch “SH off” jedes Mal angegeben werden? Oder wird “SH off” implizit angenommen? Oder wird angenommen, dass an SH auch PH gilt?

    Anwendungsfälle (implizit/explizit):

    * Bei implizitem “PH off” (wie auch schon “{Nicht angegebene Tage} off” gilt) würde das Mappen folgendermaßen aussehen:
    – Öffnungszeiten an Geschäft ablesen (normalerweise “Mo-Fr/Sa …”, d.h. einfach),
    – Eintragen
    – Fertig

    Im Fehlerfall (“PH {Zeit}”-Angabe vergessen und tatsächlich an Feiertagen geöffnet; sollte wohl selten auftreten, da dies sonst vermutlich bei den offiziellen Öffnungszeiten an der Eingangstüre etc. vermerkt ist):
    Es wird angenommen, dass das Geschäft/die Gaststätte/… geschlossen ist, man fährt nicht unnötig dorthin bzw. man kann sofort ein anderes Ziel wählen/bekommt die geschlossenen Geschäfte bei einer Suche nicht angezeigt).

    Die OSM-Daten geben genau die Angaben des Geschäfts (an der Eingangstüre/…) wieder (mit allen Interpretationsmöglichkeiten, nicht mehr, nicht weniger).

    * Bei explizitem “PH off”:
    – Öffnungszeiten an Geschäft ablesen (normalerweise “Mo-Fr/Sa …”)
    – Nachfragen oder “wissen”, ob an Feiertagen geöffnet ist
    – Falls nicht sicher und nicht nachgefragt werden kann/will, Öffnungszeiten nicht eintragen (schlecht für OSM) oder vermutet (“Supermarkt, hat wohl an Feiertagen geschlossen”) eintragen (schlecht für OSM)
    – Fertig (oder auch nicht)

    Im Fehlerfall (“PH off”-Angabe vergessen und tatsächlich an Feiertagen geschlossen; wird wohl (sehr) oft vorkommen [2]):
    Es wird angenommen, dass das Geschäft/die Gaststätte/… geöffnet ist, man fährt unnötig dorthin und steht vor verschlossener Türe.

    Ich würde sehr gerne Öffnungszeitenangaben beitragen (in der näheren Umgebung fehlen noch einige); mit expliziten PH-Angaben ist aber
    1) das Eintragen unnötig aufwändig (ja, ich möchte korrekte Angaben machen; nein, ich möchte/kann *nicht* jedesmal nachfragen)
    2) der Nutzen der Angaben zweifelhaft (“Gaststätten-Öffnungszeiten aus OSM; Gaststätte hat geschlossen” -> keine Öffnungszeiten mehr aus OSM verwenden …).

    Deshalb bitte ich darum, explizite “PH off”-Angaben (ggf. auch “SH”-) nochmal zu überdenken und zur konsistenten, intuitiv verwendbaren Methode (“Geschäfte haben an Feiertagen normalerweise geschlossen, Ausnahmen werden explizit angegeben”) zu wechseln.
    Falls ich als Nicht-Öffnungszeiten-Profi wichtige Argumente vergessen haben sollte, bitte ich darum, mich zu korrigieren.

    Danke 🙂

    [1] http://openingh.openstreetmap.de/evaluation_tool/
    [2] http://forum.openstreetmap.org/viewtopic.php?pid=491048#p491048

    • Über eine solche Änderung habe ich noch gar nicht nachgedacht. Ich habe dies in einem Proposal zusammengefasst. In diesem kann weiter diskutiert werden. Danke für den Hinweis.

      SH off muss ebenfalls explizit angegeben werden und ich denke nicht, dass es Sinn macht, das zu ändern. Wenn du anderer Meinung bist, schreibe bitte ein Proposal. SH PH hat nichts mit einander zu tun. Das eine sind Schulferien, dass zweite Feiertage.

    • Ein Mapper

      @Robin: Vielen Dank. Ein implizites “SH off” halte ich auch nicht für sinnvoll; wäre dann ja das gleiche Problem, nur in die andere Richtung.
      (Kleine Korrektur zum Originalkommentar: hätte “dass an *P*H auch *S*H gilt” heißen sollen; ist aber nicht weiters wichtig …)

    • Ich habe das implizite PH off auf der tagging mailing Liste diskutiert und bin zu dem Schluss gekommen, dass es sich nicht umsetzen lässt/keine gute Idee ist. Wenn OSM auf Deutschland beschränkt wäre, würde ein implizites PH off Sinn machen. Da OSM aber ein internationales Projekt ist, funktioniert ein implizites PH off nicht. Ich habe Overpass Abfragen erstellt, mit denen Öffnungszeiten, bei denen die Angabe von PH fehlt (unvollständige Öffnungszeiten) gefunden werden und korrigiert werden können. Korrektur bedeutet entweder eine PH off Regel anzuhängen oder ein Sa,Su,PH zu schreiben um es explizit zu machen.
      Ich finde es aber gut, dass die Sache diskutiert wurde und eine Entscheidung getroffen wurde.

    • Ein Mapper

      Danke – stimmt, war zu sehr auf Deutschland bezogen (war keine Absicht).

      Was mich allerdings immer noch stört, sind 1) und 2) von oben.

      Zusätzliche Anmerkungen:

      zu 2): Wie kann sichergestellt werden, dass bei einem Tag wie “opening_hours=Mo-Sa 10:00-20:00” der Eintragende nicht das “PH off” vergessen, sondern absichtlich weggelassen hat? IMHO darf eine solche Fehlerquelle nicht existieren; sollten Dienste etc. (zumindest für POIs in Deutschland) vorsichtshalber in solchen Fällen “* kann bei Feiertagen abweichen” o.Ä. anzeigen, da Nutzer dieser Dienste unter Umständen nichts von diesem Problem wissen?

      zu 1): Mir persönlich wäre es aus Nutzersicht lieber, wenn viele Öffnungszeiten der Art “Mo-Sa …” *ohne Feiertagsinformationen* eingetragen wären und bei Feiertagen dann das “* kann abweichen” angezeigt würde, als dass wenige vollständige Öffnungszeiten vorhanden wären.
      “Unvollständige” Öffnungszeiten würde ich wie bereits geschrieben gerne beitragen.

      Vorteile sind: “Unvollständige” Öffnungszeiten zu “sammeln” ist möglich …
      * straßenweise mit vertretbarem Aufwand (Zeiten ablesen und aufschreiben)
      * auch sonntags (in Deutschland)/abends (d.h. wenn nicht nachgefragt werden kann)
      * im Urlaub/… in Ländern, für die es ggf. schwierig ist, (die richtigen) Regelungen zu finden
      * unauffälliger – ich möchte eigentlich nicht “derjenige, der überall fragt, ob an Feiertagen geöffnet ist” sein (sowohl in der Umgebung als auch ggf. im Urlaub etc.)
      * privatsphärengerechter – beim Einkaufen können z.B. schnell und einfach die Öffnungszeiten für eine ganze Straße gesammelt werden, statt (mit Nachfragen) nur in dem Geschäft, in dem eingekauft wird
      * als “we map what we see” (hattest du ja schon im Proposal geschrieben)
      Allgemein gesagt ist das Sammeln und Eintragen so auch für nicht auf Öffnungszeiten (mit Regelungen, …) spezialisierte Leute gut und einfach möglich.

      Nachteile:
      * Für Feiertage muss für die entsprechenden Öffnungszeiten tatsächlich “unbekannt” angezeigt werden

      Die Vorteile überwiegen hier aus meiner Sicht die Nachteile – einfacheres (etc., s.o.) Sammeln/Eintragen bedeutet (vermutlich) mehr Öffnungszeitenangaben (zumindest von meiner Seite); aus Nutzersicht hätte ich wie oben bereits geschrieben lieber für ca. 355 Tage im Jahr eine Öffnungszeitenangabe und für ca. 10 Tage (in Deutschland, laut Wikipedia [1]) ein “unbekannt”, statt für alle Tage keine Angabe, da keine Öffnungszeiten eingetragen wurden.

      Deshalb: Gibt es eine Möglichkeit (und wäre es akzeptabel), korrekt solche “unvollständigen” Öffnungszeiten einzutragen, ohne das Problem aus 2) zu verursachen?

      [1] http://de.wikipedia.org/wiki/Feiertage_in_Deutschland

    • Das Auswertewerkzeug warnt nun bei fehlendem PH und gibt Hinweise dazu.
      Für den Fall das PH absichtlich weggelassen wurde, würde also auch eine Warnung ausgegeben werden. In dem Fall sollte es explizit geschrieben werden: Mo-Sa 10:00-20:00; PH Mo-Sa 10:00-20:00.
      Die Sache mit der Warnung auf der Karte ist eine Idee

  6. Tirkon

    Wir taggen Öffnungszeiten. Wenn man dies tut, sollten aber wenigstens alle wichtigen Einrichtungen, deren Öffnungszeiten zu taggen wären, auf openstreetmap.org gerendert werden. Leider ist dies immer noch nicht der Fall. Schön wäre es daher gewesen, wenn man vor den Öffnungszeiten erst einmal die zugehörigen Objekte mit einer Wochenaufgabe versehen hätte.

    Von Kneipen und Bars unterscheiden sich Diskotheken (amenity=nightclub) dadurch, dass sie eine Tanzfläche haben. Und zur Strafe dafür werden diese nicht gerendert. In Kneipenvierteln von Großstädten ist die Karte dadurch nicht komplett. Zumindest in Deutschland haben sich Diskotheken oft zu hallenfüllenden Großgewerben und zu insbesondere nächtlichen Landmarks entwickelt. Insbesondere auf dem Land haben sie eigene Haltestellen, die von Nachtbussen angefahren werden. Es gibt diverse Diskotheken, die als Bar oder Kneipe getaggt sind – vemutlich deswegen, weil man sie sonst in der Karte vermisst. Wer beispielsweise eine umap eine Karte für eine größere Veranstaltung erstellen möchte und dabei auf eine Diskothek als Abendtreffpunkt hinweisen möchte, findet diese in OSM nicht.

    Vielleicht sollte man einmal eine Wochenaufgabe “Diskotheken” ausrufen und in diesem Zusammenhang auf diesen Missstand hinweisen.

    • Das Problem, dass Diskotheken auf osm.org nicht gerendert werden, sollte in naher Zukunft gelöst sein. Eine Wochenaufgabe zu dem Thema ist eine Idee. Möchtest du diese Wochenaufgabe eventuell betreuen? Ich habe den Vorschlag in die Liste aufgenommen.

      Zur Frage ob eine Öffnungszeiten-Wochenaufgabe vor einer Wochenaufgabe zu den Objekten, die mit Öffnungszeiten getagt werden können Sinn macht: Ja, denn:

      1. es gab schon Wochenaufgaben, in der Richtung, wie die Wochenaufgaben zu Apotheken.
      2. gibt es auch ohne das alle Objekte in OSM, die man mit Öffnungszeiten versehen kann, sind bereits genug Arbeit. Siehe dazu die Overpass Abfragen aus dem Text.
      3. könnte es ein Weilchen dauern, um Wochenaufgaben zu allen Objekten zu machen, die mit Öffnungszeiten getagt werden können 🙂