manimaul / njord

Open Source Electronic Navigation Chart Server
https://openenc.com
Apache License 2.0
25 stars 5 forks source link

s57 update files #37

Closed oliveever closed 1 year ago

oliveever commented 1 year ago

Hello, does this project support updating s57 update files, such as. 001 . 002, etc. If not, will this function be added in the future

manimaul commented 1 year ago

Yes, the chart import uses Gdal which does support s57 update files: https://gdal.org/drivers/vector/s57.html

S-57 update files contain information on how to update a distributed S-57 base data file. The base files normally have the extension .000 while the update files have extensions like .001, .002 and so on. The S-57 reader will normally read and apply all updates files to the in memory version of the base file on the fly. The feature data provided to the application therefore includes all the updates.

oliveever commented 1 year ago

it.name.endsWith(".000")Isn't it just getting 000 files here? https://github.com/manimaul/njord/blob/19921f7977e31a7f99917406b60ae129197246c7/chart_server/src/main/kotlin/io/madrona/njord/geo/S57.kt#L233

oliveever commented 1 year ago

May I ask what tool was used to create the icons on the map?

manimaul commented 1 year ago

.000 is the base file and the Gdal s57 driver applies the patch files

The S-57 reader will normally read and apply all updates files to the in memory version of the base file on the fly.

Some of icons are extracted from OpenCPN https://github.com/manimaul/njord/blob/master/docs/reference_material/opencpn/chartsymbolextractor.py

Some are extracted from: HPGL https://github.com/manimaul/njord/tree/master/docs/reference_material/hpgl

Some are are just made from svg: https://github.com/manimaul/njord/tree/master/sprites

At some point the plan is to have all of the icons in SVG form in order to have better control over resolution and colors. Using the OpenCPN sprites is temporary and allows the project to get going faster.