The eNavigation Kernel SDK is a software development kit which enables customers to efficiently develop powerful applications displaying navigational vector charts (ENCs) in compliance with the portrayal standard S-52. The SDK is built upon the Geomaris GPU based rendering engine and provides clear and visually appealing chart displays with excellent rendering performance.



Technology and Requirements

  • Microsoft Operating System Windows 7 or newer

  • CSharp/.NET class library for .NET >= 4.61

  • DirectX11 (Feature Level >= 10.0)

S-57 Product Specifications

  • ENC 2.0 Supplement 2, Presentation Library 4.0

  • IENC 2.x, Presentation Library 2.3 (completely vectorized)


  • IHO Standards S-57, S-52, S-63

  • IMO Performance Standard (Resolution A.817)

  • IEC 61174, IEC 62288

  • ITU-R M.1371-5 (AIS)


High Speed Rendering

The performance of the Geomaris rendering engine guarantees an excellent user experience for S-57 chart displaying applications even with high resolution screens (4k or higher) and touchscreens.

Rendering Performance


Custom Display Layers

The SDK provides a comprehensive set of Custom Display Layer Components for easy and efficient composition of complex display layers for customized information. The supported custom display layer component types and their properties are:

  • SymbolLayerComponent: Symbols can be drawn to geographic or screen locations. The symbols are provided as IScalableSymbol implementations by the client programmer. Rotation angle and a flash effect can be assigned to the Symbols.

  • LineLayerComponent: Line strings of geographic coordinates using simple (solid, dashed, dotted) or complex/symbolized line styles can be shown. Flash effect settings can be assigned to individual line strings.

  • AreaLayerComponent: Geographic areas can be shown with area fill and outline. Area fills can be either (semi transparent) fill colors or custom fill patterns provided as bitmaps by the client programmer. Separate flash effect settings can be assigned to the area fill and the area outline.

  • TextLayerComponent / CachedTextLayerComponent: Text blocks can be defined with full control over the layout and alignment. The used sprite fonts can be provided by the client programme Text blocks can be positioned at defined screen coordinates or geographic coordinates. Flash effect settings can be assigned to individual text elements.

  • ScreenImageLayerComponent: Displays bitmaps at screen coordinates, for instance for UI elements.

  • VectorShapeLayerComponent: Vector shape types can be defined, for example for vessel types or offshore platforms. Instances of those shape types can then be created with individual scale factors in X and Y directions. The mechanism allows high performance drawing of many instances, e.g. ship hull shapes, with different sizes, fill and outline colors.

  • VectorFieldSymbolLayerComponent: Sampled vector fields such as wind vectors or surface currents can be displayed using this display layer component type. Custom symbols are defined which are then displayed in the orientation of the 2D vectors at the geographic positions. The magnitude of the 2D vectors in the data is mapped to a specific symbol, for instance a wind barb or arrow symbol. Multiple time slices of the vector field can be used as input. In this case the interpolated value in X, Y and t is displayed at any specified position and time.

  • RasterImageLayerComponent: A generic mechanism for integrating geo referenced bitmaps or gridded data into the nautical chart display. Examples for custom raster images could be satellite images, nautical raster charts like BSB or ARCS charts or GeoTIFF files. Gridded data like bathymetry, air pressure or any other kind of information can be irregularly spaced. A heat map can be individually configured to control the colors displayed for the values. Multiple time slices of the sampled data can be used as input. In this case the interpolated value in X, Y and t is displayed at each screen pixel for a specified time.

  • RouteLayerComponent: A comprehensive specialized display layer component for creating and drawing route related visual elements like a track line, waypoints, safety corridors, safety corridor boundaries, wheel over point markers. Colors and flash effect settings can be assigned individually to the various elements per leg line. 

A StackingLevel parameter allows inserting each display layer component at any vertical position into or on top of the S-57/S-101 display layer stack.


  • ITU-R M.1371-5 compliant AIS Message Parser.

  • Full AIS Overlay implementation in source code available as a sample application.

Route Planning

  • The Route Layer Component allows rendering planned and alternate routes with high performance.

  • Flash effects can be individually selected for each route element (leg lines, way points, route corridor, track line).

  • Route safety check

Step by Step Tutorial and Advanced Samples

A Sample Visual Studio solution providing a tutorial with 21 sample projects is part of the SDK. Each project introduces functionality related to a specific topic in a step by step manner.

The tutorial samples serve as points of entry for software developers to get started with specific topics. Advanced Samples for WindowsForms and WPF show the integration of the 3D display mode showing the globe with the 2D display mode showing projected S-57 charts.

Highly Efficient Development

The API is designed for efficient development while at the same time providing all required flexibility.

The exceptionally high rendering performance allows a very simple and clear timing of the application: All calls operating on chart displays are made on the UI thread. This leads to very robust high quality applications reducing development effort and project risk.

An ECS Demo Application and the Geomaris Data Manager application for S-57 and S-63 data and cell permit handling are included in the SDK. SDK customers get the source code of Data  Manager to get started quickly with their projects.


Go to top