opening_hours.js
latlon2country
opening_hours.js | latlon2country | |
---|---|---|
3 | 3 | |
213 | 0 | |
0.9% | - | |
3.9 | 0.0 | |
about 1 month ago | over 1 year ago | |
JavaScript | TypeScript | |
- | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
opening_hours.js
-
Organizing OpenStreetMap Mapping Parties
Yeah, the country location is a requirement to show the opening hours. The library (https://github.com/opening-hours/opening_hours.js) is aware of holidays in many countries, but for that it needs to know what country a POI is in.
The country awareness source code is here: https://github.com/pietervdvn/latlon2country
The idea: I've taken all the country boundaries from OSM (via nominatim); I slice them in four parts. If the resulting geojson is too big, I slice this again until I have small geojsons, suitable to download. If you know the zoomlevel and location, one can use the standard slippy-tile-index to fetch the correct tile. (Alternatively, if the entire tile is within a country, it'll just return the country code)
However, the client also needs to know what zoomlevel there is. For that, I built a search tree.
It's been a while though, so I've forgotten some of the details ;)
-
A parser for the opening_hours fields from OpenStreetMap, with Python bindings
In the mean time the JS library already provides a powerful tool that should fit your needs : https://openingh.ypid.de/evaluation_tool/. This library is more permissive than my implementation compared to the specification, I'm not sure if it is a good or a bad thing.
-
How do I map this? (More info in the comments)
Currently it is not possible to specify this, see https://github.com/opening-hours/opening_hours.js/issues/252
latlon2country
-
Organizing OpenStreetMap Mapping Parties
Yeah, the country location is a requirement to show the opening hours. The library (https://github.com/opening-hours/opening_hours.js) is aware of holidays in many countries, but for that it needs to know what country a POI is in.
The country awareness source code is here: https://github.com/pietervdvn/latlon2country
The idea: I've taken all the country boundaries from OSM (via nominatim); I slice them in four parts. If the resulting geojson is too big, I slice this again until I have small geojsons, suitable to download. If you know the zoomlevel and location, one can use the standard slippy-tile-index to fetch the correct tile. (Alternatively, if the entire tile is within a country, it'll just return the country code)
However, the client also needs to know what zoomlevel there is. For that, I built a search tree.
It's been a while though, so I've forgotten some of the details ;)
-
Where to find a merged updated OSM worldmap.
Probably not useful for you, but https://github.com/pietervdvn/latlon2country/ has a 'tiles.zip', where all the boundaries are tiled into small pieces.
-
How do I download OSM national boundaries?
I also have them available in cut-up geojson-fragments - I use them to quickly determine in which country a point lies in a frontend app. See https://github.com/pietervdvn/latlon2country
What are some alternatives?
osmtogeojson - convert osm to geojson
osmosis - Osmosis is a command line Java application for processing OSM data.
opening-hours-rs - A parser for the opening_hours fields from OpenStreetMap.
OpeningHoursEvaluator - An evaluator for opening hours tag according to OSM opening hours specification