Öffnungszeiten

Nahmd,

In der Original-Spezifikation gab es Offsets zu “n. Wochentag in Monat” überhaupt nicht. Die brauchte ich aber, um Sommerzeit/Winterzeit und Feiertage vor Weihnachten ausdrücken zu können.

Ich hab dazu die “±n days” Schreibweise eingeführt (ebenso wie ±hh:mm hours für den Offset zu Sonnenaufgang und Sonnenuntergang).

Ich nehme an, dass die neue Implementierung zu diesem Zwecke Klammern benutzt, Du also “Mar Su[-1] - (Oct Su[-1] - 1)” schreiben musst.

Gruß Wolf

Nahmd,

Ways und Relationen haben per se keine Koordinaten. Du musst also auch die Komponenten bestellen und dann rechnen.

Vielleicht bittet mal jemand den Roland Olbricht, zusätzlich zu node, way und relation auch nennen wir es mal “feature” anzubieten, was dann alle drei Objektklassen liefert und zu Ways und Relationen den Schwerpunkt/Mittelpunkt/younameit als Koordinate (”all-to-node”).

Das würde ganz allgemein die Erstellung von POI-Themenkarten vereinfachen.

Gruß Wolf

Also auf der englischen Wiki-Seite gibt es kein Konstrukt, mit welchem man Sommer/Winterzeit abbilden kann und auch im Quellcode finde ich nichts, da keine Ranges Month Day[-1] - Month Day[-1] erlaubt sind. Weiterhin wird 18:00-22:00+ angemeckert, obwohl laut Wiki richtig. Bin ein wenig enttäüscht :-\

Ok, zumindest gibt es eine. Aber mal abgesehen von Bugs und weniger Funktionalität scheint mir, dass Netzwolfs Karte schon bei niedrigeren Zoomstufen was angezeigt hat, oder? Ich erinnere mich, da relativ großflächig nach Fehlern gesucht zu haben, das geht auf Zoomstufe 14 kaum. Auch von der Farbgebung bin ich nicht ganz überzeugt. Netzwolf hatte AFAIR rot für Fehler und grau für geschlossen, oder? Scheint mir sinnvoller, weil man Fehler besser findet und gerade geschlossene Einrichtungen eher uninteressant sind.

Hi!

bei der Frage nach dem Feature aus Nr. 23 von Wolf stehe ich bei Roland alle paar Woche auf der Matte. Aber erst hat wohl auch das Problem ZEIT.

Gruß Jan

Guten Abend,

ich wollte nun auch mal meinen Senf dazu geben. Ich bin der Entwickler von opening_hours.js, dass hier ja recht kontrovers Diskutiert wird. Eins noch vorweg. Ich bin nicht der ursprüngliche Autor von der Bibliothek, dass haben wir AMDmi3 zu verdanken. Ich hab nur das Potential von dieser Implementierung erkannt und habe das ganze Salonfähig gemacht, beziehungsweise bin noch dabei. Jede Umstellung ist mit Komplikationen verbunden, aber ohne Veränderung kein Fortschritt.

Mit dem fehlen einer Online Karte wurde ich auch etwas überrascht. Als ich das Kontrollwerkzeug fertig hatte, wurden alle Informationen und Werkzeuge von Netzwolf offline genommen (mit dem ich mich über die Projektphase des öfteren ausgetauscht habe). Sein Argument hierfür ist für mich durchaus nachvollziehbar, allerdings hatte ich zu der Zeit noch keine funktionierende Karte am laufen. Deshalb hab ich in den letzten Tagen eine solche auf Basis von Netzwolfs Karte aufgebaut. Diese hat noch ein Problem, was sich hoffentlich mit Hilfe von Roland noch lösen lässt.

Tut mir Leid, wenn sich die Seite deines Verständnisses entzieht, aber ich und AMDmi3 hielten es für die beste Lösung um das Projekt den Meisten zugänglich zu machen. Diese Seite ist allerdings mehr für Programmierer Interessant, als mapper bracht man die Seite nicht direkt zu verstehen beziehungsweise gibt es hier das Wiki.

Das Wiki hat weiterhin Gültigkeit. Das Thema Öffnungszeiten wurde/wird nur im Hinblick auf die Implementierung umgestrickt.

Ich kann Netzwolf hier durchaus verstehen. Zwei „inkompatible“ Implementierungen für eine Sache sind nicht zielführend. Das Argument, dass man sich von einer Implementierung abhängig macht, ist nicht ganz von der Hand zu weisen. Allerdings war das ja quasi auch vor dem aufkommen von opening_hours.js der Fall. Jetzt gibt es wieder eine Implementierung (wenn man von Implementierungen in anderen Sprachen, die nicht diese Komplexität erreicht haben wie opening_hours.js und time_domain.js (von Netzwolf) absieht) mit der getestet werden kann und die einen gewissen Standard durchsetzt. Der unterschied ist allerdings, dass die Entwicklung in einem öffentlichen Repository abläuft, und jeder herzlich dazu eingeladen ist seine Verbesserungswünsche im Idealfall in Form eines „Pull requests“ an mich heranzutragen. Das Projekt wurde im wesentlichen von AMDmi3 und in den letzten Monaten von mir vorangetrieben. Falls jemand etwas stört bitte einen Fehlerreport schreiben oder direkt mit wirken. Allerdings wäre es gut, wenn wir keine redundante Syntax aufnehmen (zwei Schreibweisen um eine Sache auszudrücken), wie auch schon Netzwolf meinte. Ansonsten, wenn noch Dinge fehlen, die Sinn machen kann darüber Diskutiert werden.

Wie vorher schon gesagt, macht eine Umstellung aus technischer Sicht absolut Sinn. Zu diesem Schluss wird wohl jeder kommen, dir sich beide Implementierungen anschaut. Netzwolfs Implementierung war nicht schlecht, sie hat sehr gute Dienste geleistet. Allerdings war der Code, zumindest für meinen Geschmack nicht so einfach Verständlich. Das Design von opening_hours.js ist um einiges Mächtiger und bietet eine reichhaltige API, die es Entwicklern (wie http://oeffnungszeiten.ulmapi.de/) erlaubt, Öffnungszeiten auszuwerten ohne sich um das Verarbeiten von opening_hours zu viele Gedanken zu machen. Dies kann sowohl im Browser als auch Server seitig mit node.js erfolgen. Aufgrund des Aufbaus ist diese JavaScript Bibliothek auch Ideal als Referenz Implementierung geeignet.

Zur weiter gefassten Sprache ist zu sagen, dass hier die Grundsteine von AMDmi3 gelegt wurden, der auf den Doppelpunkt komplett verzichtet hat, ihn sogar als Fehler angesehen hat. Ich habe die Auswertung so kompatibel zu Netzwolfs Spezifikation gemacht, wie möglich, allerdings bin ich in wenigen Punkten davon abgewichen.

Der Punkt auf den sich Netzwolf hier bezieht ist wohl das nicht prüfen ob der Doppelpunkt korrekt benutzt wurde. Der Grund hierfür ist, dass AMDmi3 diese für überflüssig hält und ich verstehe seine Ansicht. Allerdings benutze ich diese selbst und finde sie auch nicht verkehrt. Hier gibt es also zwei Herangehensweisen, was allerdings nicht schlimm ist, da der Doppelpunkt für die Auswertung nicht gebraucht wird, allerdings als stilistisches Mittel eingesetzt werden kann um den Überblick zu erhöhen. Falls irgendwann mal Klarheit herrscht ob dieser Angebracht ist oder nicht lässt sich mit opening_hours.js und der Funktion oh.prettifyValue sicher eine automatische Umstellung aller Werte erreichen (was ich zum jetzigen Zeitpunkt allerdings für nicht Notwendig erachte).

Eine zweite Abweichung ist noch die Berechnung von Zeiten basierend auf variablen Zeiten. Also um auszudrücken, dass irgendetwas eine halbe Stunde nach Sonnenaufgang öffnet. Netzwolf hat hier sunrise+00:30 hours vorgeschlagen und implementiert. Diese wurde allerdings nur 2 mal benutzt. “(sunrise+00:30)” wurde hingegen um die 14 mal benutzt. Ich halte diese Variante für übersichtlicher und die meisten Mapper scheinen mir zuzustimmen. Netzwolf wollte auf Klammern verzichten wegen Conditional restrictions zugleich hat er allerdings in Kommentaren keine Klammern in seiner Dokumentation verboten (wurden auch schon mehrmals verwendet). Ein Parser für Conditional restrictions muss damit rechnen verschachtelte Klammern zu finde.

Ansonsten ist die Syntax weitgehend Identisch. Es wurden noch einige Erweiterungen von mir Umgesetzt, welche in OSM benutzt wurden und meiner Ansicht nach Sinn machen und die nicht mit bisherigen Mitteln beschrieben werden konnten.

Das Funktioniert allerdings nicht für Dinge, die sich mit dem vorhandenen Vokabular nicht ausdrücken lassen …
Falls es sich mit vorhandenen Mittel ausdrücken lässt sollte das getan werden, da stimme ich dir absolut zu. Aber beispielsweise ein Tag vor einem Feiertag konnte nicht ausgedrückt werden oder Feiertags aber nur wenn der Feiertag ein Montag ist. All das kann jetzt formuliert werden.

Ich werde keine Dinge implementieren, die sich bereits ausdrücken lassen.

Unterstützung ist immer noch gerne gesehen: https://github.com/ypid/opening_hours_map

Ich stimme dir absolut zu und auch Netzwolf hat Öffnungszeiten ausgewertet, die nicht dem Standard entsprachen. Er hat nur eine Warnung ausgegeben. Das gleiche tue ich auch. Ich versuche auch Regeln durchzusetzen, allerdings möchte ich den Mapper auch unterstützen und ihm sagen, was er Falsch gemacht hat. Ich gehe sogar noch einen Schritt weiter als Netzwolf und generiere einen korrekten opening_hours Wert aus einem nicht korrekten, vorausgesetzt natürlich, meine Fehlertoleranz (basiert auf der von Netzwolf) erkennt, was gemeint ist. Was meiner Ansicht nach schon recht brauchbar ist.

Übersetzungen in andere Sprachen von den neuen Möglichkeiten werden folgen. Ich kann nicht parallel in mehreren Sprachen eine Dokumentation schreiben. Ist immer hin ein Hobby. Falls du mir in der Hinsicht ein Stellenangebot zukommen lassen kannst … :smiley: Englisch hatte/hat Priorität.

Zugleich hallte ich es für Sinnvoll die Spezifikationen von Netzwolf (die ich auch sehr zu schätzen wusste) ins Wiki zu übernehmen und auf die aktuellen Gegebenheiten anzupassen.

Ist mir auch aufgefallen und hab es mittlerweile korrigiert.

Ist mir bewußt. Ich hab solche Öffnungszeiten auch schon in OSM gesehen. Werde ich noch implementieren.

Nein.

opening_hours=Mar Su[-1] - Oct Su[-1]-1 days: Mo-Fr 10:00-13:00,15:00-19:00; Sa 10:00-15:00; Oct Su[-1] - Mar Su[-1]-1 days: We-Fr 15:00-18:00; Sa 10:00-14:00

Sieht so wie es ist gut aus und wird noch rein kommen. Falls das jemand beschleunigen will, ist immer gerne gesehen.
Noch ein Hinweis zu diesen Öffnungszeiten: “; Sa 10:00-15:00;” wird zu keiner Zeit zutreffen, da es immer von “Sa 10:00-14:00” überschrieben wird. Dieser Wert müsste so umgeschrieben werden:

opening_hours=Mar Su[-1] - Oct Su[-1]-1 days: Mo-Fr 10:00-13:00,15:00-19:00; Mar Su[-1] - Oct Su[-1]-1 days: Sa 10:00-15:00; Oct Su[-1] - Mar Su[-1]-1 days: We-Fr 15:00-18:00; Oct Su[-1] - Mar Su[-1]-1 days: Sa 10:00-14:00

falls das so gemeint ist.

“18:00-22:00+” ist mir aufgefallen, allerdings ist hier die Frage, ob man das nicht auch anders ausdrücken könnte. Dieses Konstrukt wird aktuell 55 mal benutzt.

-\s*\d{1,2}[:.]\d{2}\s*\+

Bitte beachten, dass ich eine Karte so schnell wie möglich wieder Online bringen wollte, nachdem die von Netzwolf offline genommen wurde und hier sicher noch Optimierungen möglich sind. Wenn dir etwas nicht gefällt, du hast die Möglichkeit es zu ändern.

Try harder :wink: (versuche es weiter)
Es muss natürlich nicht alles von Roland geschrieben werden, falls jemand diese Möglichkeit vermisst, bitte implementieren.

Sollte fürs erste Reichen, sorry für die Länge, aber wie Netzwolf schon meinte, das Thema ist sehr Komplex.

Vielen Dank fuer die ausfuehriche Stellungname. Das Einzige, was man dazu noch anmerken koennte waere: das alles waere besser gelaufen, wenn es im Vorfeld mal oeffentlich vorgestellt worden waere. So, wie es gelaufen ist, wirkte es ein wenig wie eine Hauruck-Aktion und alle waren ein wenig sprachlos. Aber nun gut, ueber verschuettete Milch soll man nicht jammern sagt der Amerikaner und Recht hat er.

Fuer mich drueckt 18:00+ nur aus: Ab 18:00 bis open end, aber keine Mindestoeffnungzeit garantiert. Man koennte das vielleicht als 18:00-22:00,22:00+ ausdruecken, aber so lange die Spec im Wiki 18:00-22:00+ erlaubt, sollte sich die neue “Referenzimplementierung” auch daran halten meine ich.

In den vergangenen Wochen hatte das ganze eine ziemliche Dynamik entwickelt, ausgehend von meiner Auswerteseite und http://josm.openstreetmap.de/ticket/9157, und Netzwolfs Reaktion darauf.
Ich wollte erstmal vorlegen und beweisen, dass sich alles auch mit dieser komplexeren und mächtigeren Implementierung auswerten lässt.

Das wurde gestern von Phobie rein geschrieben: Siehe Vergleich der Versionen (ist halt ein Wiki …)

Wenn ich das jetzt rein nehme tritt wohl der “Mircosoft-Effekt” auf, wie Netzwolf so schön meinte (wer das meiste akzeptiert, egal wie blödsinnig, der setzt sich durch). Was bei FOSS nicht das Ziel sein sollte. Eventuell sollten wir eine Abstimmung machen.

Moin

Wenn ich bei der neuen Öffnungszeitenkarte neben den 3 Editorlinks auf Details klicke kommt ein Fehlermeldung wie diese. Ich bild mir aber ein ,dass das schon mal funktionierte.

Gruß Thomas

Guten Tag,

Der Link sollte so lauten: http://www.openstreetmap.org/browse/node/617408650

Grüße Steffen

Moin, das Beispiel im Wiki geht ohne Doppelpunkt hinter dem SH.

In der Karte wird opening_hours=sunrise-sunset als Fehler bemängelt. Sicher ist das etwas ungenau. In der engl. Wiki steht das aber so. Wie sollte es denn besser heißen?

In der Karte kommt als Fehlertext: Holidays SH are not defined for country de and state Sachsen. Please add them. Wo kann ich die den hinzufügen. Doch bestimmt nicht am Objekt, oder?

Hab das am Beispiel Frankreichs erstellt: http://www.openstreetmap.org/browse/relation/3263835 Sind natürlich erstmal bloß die nächsten Ferien zum testen.

Eher nicht. Das muss wohl explizit in die Javascript Bibliothek aufgenommen werden, OSM Relationen spielen da keine Rolle.

Na dann kann ich das ja wieder löschen.

Passt so.

Danke für die Hinweise. Ist korrigiert.

opening_hours = Mo-Th 07:00-19:00; Fr 07:00-16:00; SH: Mo-Fr 08:30-15:00

“SH: Mo-Fr 08:30-15:00”: Das trifft nur an Wochentagen (Mo-Fr) zu wenn Schulferien sind. Ich finde den Doppelpunkt gar nicht so schlecht. Parktisch funktioniert beides. Wie bereits gesagt, ignoriere ich den Doppelpunkt sowieso und wenn er beim Schreiben der Öffnungszeiten hilft stört es mich nicht.

Korrekt. Ich habe besagtes Skript geschrieben, was das Thema Schulferien für Deutschland komplett erschlägt :smiley:
Da ich immer noch am Entwickeln bin, habe ich vorerst nicht alle Schulferien mit in opening_hours.js gepackt. Siehe auch Problem 7. Werde ich jetzt aber mal angehen.

So wie es scheint wertet die neue Karte nur Knoten, keine Flächen aus. Kann das sein? Und warum können nicht auch Flächen ausgewertet werden?

siehe posting #21 und #23 in diesem Thread.

Hier ist ein Node mit fehlerhaften Daten. Leider kann man hier nix klicken um dies zu bereinigen.

http://robin.de.marissa.hostorama.ch/osm/opening_hours_map/opening_hours_map.html?filter=error&zoom=17&lat=49.47923&lon=8.65229&layers=B0T&tags=opening_hours

Dies tritt meist bei Warnungen auf. Bei Error ist es mir noch nicht aufgefallen.