Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/josxha/vector-seamarks
Mapbox vector tiles for OpenSeaMap seamarks
https://github.com/josxha/vector-seamarks
openseamap osm seamarks
Last synced: about 4 hours ago
JSON representation
Mapbox vector tiles for OpenSeaMap seamarks
- Host: GitHub
- URL: https://github.com/josxha/vector-seamarks
- Owner: josxha
- License: bsd-2-clause
- Created: 2024-05-19T22:40:05.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-06-23T19:26:36.000Z (5 months ago)
- Last Synced: 2024-10-23T21:57:42.679Z (15 days ago)
- Topics: openseamap, osm, seamarks
- Language: Shell
- Homepage: https://josxha.github.io/vector-seamarks/
- Size: 90.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# vector-sea marks
This project provides sea mark vector tiles. It uses the data collected by the
OpenSeaMap.### Why vector tiles?
- Smaller file sizes
- Better suited for offline usage
- Support for high-DPI displays
- Keep the sea marks upright when rotating the map
- Possibility to change the style of the sea marks### Previous attempts
There have been some attempts in the past to generate vector tiles from the
OpenSeaMap data. Some of them are:- https://github.com/OpenSeaMap/vectortiles-generator (last commit Aug 27, 2016)
- https://github.com/osm2vectortiles/osm2vectortiles/issues/402 (archived Dec
26, 2017)
- https://osmand.net/ (not feature complete, sea marks near each other missing)
- https://web.archive.org/web/20210624173209/https://www.openseachart.org/doku.php/enc (ENC format, links to government data, not available anymore)
- https://www.elwis.de/DE/Service/Inland-ENC-der-WSV/Inland-ENC-der-WSV-node.html (ENC format, German waterways)
- https://github.com/tilery/OpenRiverboatMap (CartoCSS style, only waterways)
- https://wiki.openstreetmap.org/wiki/User:Kannix/vector-tiles, https://maps.grade.de/ (only waterways)### The focus of this project are the following:
- Reproducibility through documentation and availability of source code and
assets
- Use of available open source tools to reduce custom code and tools (osmium, tippecanoe, etc.)
- Possibility to generate and self-host tiles
- Support offline usage (small file sizes)
- Usage of modern file formats and standards (MBTiles, PMTiles, GeoJSON,
MVT, etc.)
- Keep all resources centralized in one place (this GitHub repository)
- Performant rendering of sea mark tiles
- All documentation and discussions are in english to avoid regional
fragmentation
- Support for consumer devices (smartphones, tablets and laptops)### Not that important at the moment:
- Not every feature from the OpenSeaMap is currently rendered (
e.g. [Sectored and Directional Lights](https://wiki.openstreetmap.org/wiki/Seamarks/Sectored_and_Directional_Lights))
- Completely up-to-date tiles (e.g. daily updates)
- Plotters like Garmin or Raymarine are not supported### Generate vector tiles
1. Download OpenSeaMap data
2. Filter data to only include sea marks (`seamark:type=` exists)
3. Convert data to GeoJSON
4. Generate vector tiles from GeoJSON
5. (optional) Convert them into PMTiles
6. Serve vector tiles
7. Display the tiles with by using Mapbox / MapLibre style JSON### Current limitations
- Can't display small craft facilities if multiple are on the same point separated by a semicolon
- Some sea marks are not rendered correctly
- [Sectored and Directional Lights](https://wiki.openstreetmap.org/wiki/Seamarks/Sectored_and_Directional_Lights)
- Buoys, Beacons and Lights with multiple colors
- Multiple lights at one point### Discussions & Articles
- https://wiki.openseamap.org/wiki/OpenSeaMap-dev:Vector_chart
- https://forum.openseamap.org/viewtopic.php?id=2304