Ok before you get too excited I've only made a stub project
, this is my first attempt at OpenCPN
plugin and my C++ knowledge is weak.
Here is the general idea:
OpenSeaMap is basically a set of tags inside the OpenStreetMap database. There are various tools already available for creating seamarks - and a growing data set. This is the wikipedia of seamarks. I believe a plugin enabling integration with this database will be a great addition.
1. Implement basic plugin structure*
2. Establish getting lat/lon bounds from OpenCPN
3. Implement API calls to retrieve OSM data**
4. Implement a local data store***
5. Implement API calls to retrieve change sets (new or changes to data based on date)
6. Implement plugin UI to specify data types
7. Implement plugin UI to support API authentication to OpenStreetMap
8. Implement UI to add/edit/update seamark data
* I tried with demo_pi but couldn't get it working, so now I'm trying again with survey_pi
** the Overpass API
supports requests for specific bounds and tags (all OSM data is tagged with various "seamark:" tags relating to S57 data types)
*** the survey_pi from Pavel uses spatialite (sqlite) database - which sounds like a great place to start
The repo is here: https://github.com/ktec/osm_pi
Please let me know if anyone else is already working on something like this, and if anyone is interested in helping me, just fork the project
and send me pull requests, I would be hugely grateful!