61b0085f5b | ||
---|---|---|
.github/workflows | ||
LICENSE | ||
README.md | ||
data-full.json | ||
data.json | ||
demo.gif | ||
index.html | ||
leaflet.indexedfeaturelayer.js | ||
leaflet.light.js | ||
leaflet.rangedmarker.js | ||
test.json |
README.md
Beacon map
This map shows all the blinking beacons from OpenStreetMap.
More specifically, it asks the Overpass API for all elements with an seamark:light:sequence
or seamark:light:1:sequence
attribute, decodes these, and displays them as coloured circles on the map using Leaflet. It also tries to take the seamark:light:range
and seamark:light:colour
into account.
If you think a lighthouse or beacon is missing, please add or edit it on OpenStreetMap.
Overpass API
The current version uses an extracted dataset, but the code allows for directly querying the Overpass API. However, since a query like the one used here can take multiple minutes to complete it is not very useful do always do live queries. Currently we're updating the data every night.
Useful stuff
The leaflet.indexedfeaturelayer.js
file contains an extension on Leaflet's GeoJSON layer that only add layers/features to the map that are (or are about to be) visible. It uses a spatial index to quickly query which features can be removed from the DOM, increasing performance.
leaflet.light.js
contains my best guess on how a light sequence will look based on these descriptions. However, it might be inaccurate, and it tries to do its best with the sometimes not entirely consistent data from OSM.
Credits
This map is made by the Geodienst because it was a fun idea we wanted to try out. Feel free to fork this map and make your own visualisation of OSM data, or contribute improvements back to us.