Skip to content

watmildon/lighthouse-map-libre

Repository files navigation

demo-WA.mp4

Lighthouse Map Libre

An interactive globe showing ~26,000 animated maritime light sequences from OpenStreetMap, rendered with MapLibre GL JS v5.

It parses seamark:* tags from OSM data — including sequence, character, period, colour, and range — and animates them as coloured circles on a Canvas 2D overlay. Lights without an explicit sequence are synthesized from their character type and period.

If you think a lighthouse or beacon is missing, please add or edit it on OpenStreetMap.

Evaluated OSM Tags

The following seamark:light:* tags are used to determine light animations. Tags under the seamark:light:1:* namespace are also supported and normalized automatically.

Tag Purpose
seamark:light:sequence Explicit on/off timing pattern, e.g. 1.5+(4),1.5+(13)
seamark:light:character Light type: F, Fl, LFl, Oc, Iso, Q, VQ, UQ, IQ, IVQ, IUQ, Mo, Al.*
seamark:light:period Total cycle duration in seconds — used with character to synthesize a sequence
seamark:light:colour Light colour(s), semicolon-separated for multi-colour lights (e.g. white;red)
seamark:light:group Number of flashes per group, or Morse letter for Mo characters
seamark:light:range Nominal range in nautical miles — controls rendered circle size

Data Updates

A job runs once a night to refresh the mega file that containes all of the data. If you discover that it hasn't updated in a while, please let me know!

Credits

Originally forked from an implemenation by Geodienst.