Preparing S-57 data using enc processor Python module: Difference between revisions

From Maria GDK Wiki
Preparing S-57 data using enc processor Python module
Jump to navigation Jump to search
()
()
Line 1: Line 1:
{{DISPLAYTITLE:Preparing S-57 data using enc_processor Python module}}
{{DISPLAYTITLE:Preparing S-57 data using enc_processor Python module}}
S-57 source data can be converted to MBTiles using the Python module ''enc_processor''. The output is split into one MBTiles dataset for each scaleband. Some layers are given custom fields to facilitate rendering in MARIA GDK. Zoom level configuration in the output is defined to work with the existing product ''NorwayNauticalENCVector.''[[File:S-57 enc processor.png|thumb]]Processing all scalebands for Norway typically takes 7-9 hours on a fast computer and SSD.
 
S-57 source data can be converted to MBTiles using the tool ''enc_processor''. The output is split into one MBTiles dataset for each scaleband. Some layers are given custom fields to facilitate rendering in MARIA GDK. Zoom level configuration in the output is defined to work with the existing product ''NorwayNauticalENCVector.''[[File:S-57 enc processor.png|thumb]]Processing all scalebands for Norway typically takes 7-9 hours on a fast computer and SSD.


<syntaxhighlight lang="python3">
<syntaxhighlight lang="python3">
Line 13: Line 14:
</syntaxhighlight>
</syntaxhighlight>
== Dependencies ==
== Dependencies ==
When this tool is distributed as a bundle with ''enc_processor.exe'', the executable can be run on Windows with not external dependencies.
When this tool is distributed as a bundle with ''enc_processor.exe'', it can be run on Windows with not external dependencies.


When distributed as a Python wheel, it depends on the following non-standard Python packages:
When distributed as a Python wheel, it depends on the following non-standard Python packages:

Revision as of 12:52, 21 November 2025


S-57 source data can be converted to MBTiles using the tool enc_processor. The output is split into one MBTiles dataset for each scaleband. Some layers are given custom fields to facilitate rendering in MARIA GDK. Zoom level configuration in the output is defined to work with the existing product NorwayNauticalENCVector.

S-57 enc processor.png

Processing all scalebands for Norway typically takes 7-9 hours on a fast computer and SSD.

scalebands = {
    1 : {'name':'Overview', 'minzoom':3, 'maxzoom':12},
    2 : {'name':'General', 'minzoom':10, 'maxzoom':13},
    3 : {'name':'Coastal', 'minzoom':10, 'maxzoom':13},
    4 : {'name':'Approach', 'minzoom':13, 'maxzoom':16},
    5 : {'name':'Harbor', 'minzoom':14, 'maxzoom':17},
    6 : {'name':'Berthing', 'minzoom':14, 'maxzoom':17},
}

Dependencies

When this tool is distributed as a bundle with enc_processor.exe, it can be run on Windows with not external dependencies.

When distributed as a Python wheel, it depends on the following non-standard Python packages:

  • GDAL
  • protobuf

Arguments

Argument Description
input Input folder containing S-57 "000" files. Folders are searched recursively.
output Output folder where MBTiles will be built
--outputtype product to create a fully compatible product with styling and data. files to create data files only. Default is product
--debug Write debug log messages

Examples

Executable

Display help:

enc_processor.exe --help

Convert a directory tree of S-57 files to a fully compatible product which can be read directly by any Maria-based application:

enc_processor.exe c:\work\enc\enc_root\ c:\work\enc\output

Python module

Display help:

python -m enc_processor --help

Convert a directory tree of S-57 files to MBTiles, with detailed log messages:

python -m enc_processor c:\work\enc\enc_root\ c:\work\enc\mbtiles\ --outputtype files --debug