SignalK / freeboard-sk

Chartplotter implementation for Signal K servers
Apache License 2.0
35 stars 27 forks source link

Charts coverage overview. #130

Closed AndreasSchutz closed 6 months ago

AndreasSchutz commented 8 months ago

Yet another feature request. :-)

It would be very nice to be able to visualize coverage of the charts you have stored. When you buy charts the vendors sometimes show the outline of the chart you are going to buy with a colored line. (like this; https://www.bluev.co.uk/file-manager/Products/Navionics/Navionics%20Regular%20Charts/Navionics-UK-Regular_1000x1000.png).

Is that possible to implement?

tkurki commented 8 months ago

Some chart formats include metadata about bounds, like mbtiles https://github.com/mapbox/mbtiles-spec/blob/master/1.3/spec.md#content

This feature really belongs in the chart plugin repo, as the feature would need support there. And this feature could be also an integral part of the plugin as well as chart using webapps like Freeboard.

panaaj commented 8 months ago

From a Freeboard-SK perspective, it would be quite straight forward to toggle on/off a chart boundary rectangle based on the chart bounds data [bottom-left x, bottom-left y, top-right x, top-right y].

Example: image

AndreasSchutz commented 8 months ago

@panaaj What you show on the picture is exactly what I had in mind. That would help a lot when you want to see water coverage of your installed charts. Often charts "step into action" at a Z value far to deep-zoomed to get an overview. Important is that you can show the boundary at a smaller Z value than the actual chart data is showing at, or a lot of the benefits will disappear. I.E. A chart with zoom level between Z12-Z16 must be able to show the boundary from Z6 (approx.) to give a real good overview. The best option (I believe) is to let the boundaries be visible in all zoom levels (???).

If this isn't a pain to implement, I think it will be very usable.

AndreasSchutz commented 8 months ago

@tkurki Do you think that the "boundary feature" will crash or behave crazy when the chart doesn't have that info. in the metadata? Today I only use mbtiles so I don't know how other charts behave.

panaaj commented 8 months ago

The best option (I believe) is to let the boundaries be visible in all zoom levels (???).

The boundaries are visible at all zoom levels regardless of the chart metadata.

tkurki commented 7 months ago

Btw the assumption that the coverage is rectangular is too simple, see for example https://o-charts.org/shop/en/oesenc/75-italy-east-and-south-coast-including-sicily.html. Too bad mbtiles spec only talks about (left, bottom, right, top).

Does anybody know about this with other map formats? Can somebody look into this?

The boundary feature naturally would need to work sensibly also in the absence of coverage data.

tkurki commented 7 months ago

Should we transfer this issue to the charts plugin? It would be nice to include a minimal webapp in the charts plugin to render the coverages.

panaaj commented 7 months ago

Freeboard (or any client) will use whatever the metadata presents to display a map boundary. So from a v2 Chart spec perspective we have the opportunity to "enhance" the SK chart metadata for bounds to define a polygon rather than [left,bottom, right, top].

This can be incorporated into Charts-plugin PR 27

AndreasSchutz commented 7 months ago

Sound terrific to me. Right now I only have rectangular maps. Maybe the "toggle bounds" button should be on each chart??? Theoretically, if you have a lot of small charts, even the bounds would clutter...but I don't know, just a thought.

panaaj commented 7 months ago

Available in v2.5