opening_hours tag is used in OpenStreetMap project to describe time ranges when a specific facility (for example, a cafe) is open.
This map shows the opening_hours as nicely readable time table.
A mirror is set up under: https://openingh.ypid.de/
Just clone the repository:
git clone --recursive https://github.com/opening-hours/opening_hours_mapand install its dependencies (execute inside the repository):
npm install
make dependencies-getThis will:
- Install development dependencies (ESLint, html-validate)
- Download OpenLayers
- Initialize the opening_hours.js git submodule
The map uses OpenLayers to show a base map from OpenStreetMap. An additional optional layer shows POIs which are tagged with opening_hours. The data for this additional layer is queried from the OverpassAPI. The basic query in OverpassQL looks like this:
[out:json][timeout:3][bbox:{{bbox}}];
(
node["opening_hours"];
way["opening_hours"];
);
out body center 1000;
To build the opening_hours.js library for production:
make ready-for-hostingThis will build the minified version of opening_hours.js with all dependencies.
Run validation and linting:
npm test- This map is built with OpenLayers 2.13.1 (legacy version).
- The opening_hours evaluation is handled by the opening_hours.js library.
-
Big thanks goes to Netzwolf who created some OpenLayers extensions and examples. He also created the same map showing opening_hours with his JS implementation (which is withdrawn in favour of opening_hours.js). Big parts of his code are still in use for the map. Although most code around the opening_hours interpretation was rewritten.
-
Also thanks to FOSSGIS for hosting a public instance of this service. See the wiki.