Both IENC (InlandECDIS) and AML (Additional Military Layers) are S-57 based products, specifically designed for river navigation and maritime military applications, respectively. They define their own object classes, attributes and symbology. The LuciadLightspeed Maritime Standards component includes all necessary resources to support both the reading and visualization of IENC and AML data.
If you want to set up a standard visualization using the TLcdS57UnifiedModelDecoder
in combination with a
TLspS52LayerBuilder
or TLcdS52GXYLayerFactory
, you do not need to take any special
steps to support IENC or AML visualization. Both the model decoder and the layer factory/builder support
ENC, IENC and AML, and choose the correct visualization based on the available data.
It is also possible to create a TLcdS57ProductConfiguration
and TLcdS52ProductConfiguration
for a specific type
by passing the ELcdS57ProductType.IENC
or ELcdS57ProductType.AML
product type code to their static factory methods.
Once constructed, you can use the S-57 and S-52 product configuration to create model decoders and layer
factories in a similar way to ENC. This allows for the use of the more advanced options of
the model decoders and layer factories.
The decoder supports IENC versions 2.0, 2.1, 2.2, 2.3 and 2.4. The visualization will use the display rules from IENC 2.4.
If you’re using InlandECDIS, you can configure your ship’s beam and air draft on the S-52 display settings (see |
Working with mixed IENC and ENC data
LuciadLightspeed supports InlandECDIS (IENC) cells that contain regular ENC data.
While this does not comply with the specification, some InlandECDIS data providers do this.
For example, cells can have achare
objects (part of IENC) and ACHARE
objects (part of regular ENC).
The IENC specification overlaps to a large extent with ENC: it takes over many object classes, attributes and styling rules. However, it does not take over everything.
Our IENC object classes and attributes automatically fall back to those from ENC if they were not already part of the IENC specification. Similarly, the IENC visualization rules include the full S-52 rules as a fallback.
If you have catalogs or multicatalogs that contain only IENC cells, all this will be picked up automatically.
If you have catalogs or multicatalogs that contain cells of product type IENC as well as regular ENC, you have to manually force IENC. This is necessary because the cells themselves contain this information, and are lazy-loaded. As such, we can’t determine the type up front efficiently.
// Decode the model
TLcdS57CatalogueModelDecoder decoder = TLcdS57ProductConfiguration.getInstance(ELcdS57ProductType.IENC).createCatalogueModelDecoder();
decoder.setLoadingPolicy(SOFT_REFERENCED);
ILcdModel model = decoder.decode("/path/to/CATALOG.031");
}
}