NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
Introduction to NAVTOR Software Development Kit

What is NAVTOR SDK?

The NAVTOR Software Development Kit is a set of components that help to build various geographic applications such as ECDIS, ECS, planning stations and geographic information systems.

With NAVTOR SDK you can:

  • Read S57/S63 data and updates through the NAVTOR SENC, which is public format for OEMs.
  • Display geographic data in compliance with the S-52 standard
  • Use geographic data for various ECDIS application tasks
  • Display custom data with custom styles

What's New

NAVTOR SDK v.3.0

General

  • New feature: The SDK now supports Inland ENC. No additional functions to support Inland ENC in OEM’s code are required. The SDK supports Inland ECDIS Standard 2.4.
  • New feature: New graphical backend based on OpenGL (Scene manager GL).
  • New feature: Custom geodatabase in memory, intended for the implementation of temporary geodatabases in memory e.g. EBL, VRM, Object highlight, User chart editing.
  • New feature: Support of standalone AIO databases in Grounding check.
  • New feature: Light weight ethernet interconnection module intended for implementation of functionality that bases on IEC 61162-450 e.g. Route transfer, IEC 61162-1 sentences transferred over ethernet.
  • New feature: NavBox client to get access to SENC on NavBox over REST API.
  • New feature: OS Android support.
  • Bug fixes.

NAVTOR SDK v.2.0.9

General

  • The complex coverage of the AML datasets has been mitigated.
  • Bug fixes.

NAVTOR SDK v.2.0.6

General

  • AML support.

NAVTOR SDK v.2.0

General

  • Support of new ECDIS requirements listed in S-52 (Specification for Chart content, Edition 6.1.1, Presentation library, Edition 4.0.1, ENC Symbol catalogue, Edition 4.0.0) and IEC 61174, edition 4.0
    • Look-up tables and symbols design
      • Implementation of renewed version of Look-up tables for objects symbolization
      • Changes in symbols design
      • New symbols design
    • Conditional Symbolization Procedures
      • Implementation of renewed version of CSP: LIGHTS06, LITDSN02, SNDFRM04, DEPARE03, SLCONS04, SYMINS02
    • Date dependent features
      • Implementation of a means to insert date or date range to display date dependent features
      • Highlighting Date dependent features
    • Grounding check
      • Implementation of standard check objects lists and alerts groups
      • Implementation of check object filter for graphical indication of Navigational hazards, Areas with Special Exists, Objects that constitute the safety contour, User defined areas
      • Implementation of danger objects scene layer
    • Implementation of Automatic updates review
    • ECDIS Viewing group Layer implementation
    • Renewed Text group Layer implementation
    • Data Overlap indication
    • Overscale factor indication
    • Interrogation of ECDIS chart 1
    • Support of national attributes
    • Implementation of presentation of centered symbols in case when areas are split by ECDIS chart window
    • Implementation of Standards Terms and Definitions listed in IEC 61174
  • Support of several databases in Grounding check.
  • Support of standalone AIO databases in Grounding check.
  • New feature: Light sector legs highlight.
  • New feature: Full lights info.
  • New feature: Palette manager returns colour descriptions.
  • New feature: Mariner object feature extended (has fill and line colour, fill opacity and line width).
  • New feature: Base library returns stack of critical SDK errors.
  • New feature: Support of Admiralty Total Tide (Windows).
  • New feature: Support of NETCDF regular grids.
  • New feature: Support of chart drawing without transparency (dotted patterns are used)
  • New feature: Coordinate grid improved.
  • Bug fixes.

NAVTOR SDK v.1.5.6

General

  • Faster rendering.
  • Added support for feet and fathoms for chart depth units.
  • Added management for S63 database SERIAL.ENC and PRODUCTS.TXT.
  • ENC information is available through IENCInfo.
  • Bug fixes.

NAVTOR SDK v.1.5.5

General

NAVTOR SDK v.1.5.4

General

NAVTOR SDK v.1.5

General

  • First release of the NAVTOR SDK entirely compliant with IEC-61174, IEC-62288 and IHO S-52 Presentation library, version 3.4
  • Includes anti-grounding functionality.
  • Includes manual updating functionality.
  • Includes mariners' objects functionality.
  • Includes INT-1 portrayal.
  • Many C++ helpers were added to simplify programming with the NAVTOR SDK.

NAVTOR SDK v.1.4

General

  • The SDKShutdown base method is implemented. Use the method whet shutting down your application. The method unloads all libraries currently in use.
  • Significant performance improvement due to parallel rendering.
  • Background 1:50 000 000 and 1:20 000 000 charts are added to the SDK installation.
  • Implemented background rendering of visualization layers.
  • Bug fixes.

Data

  • Modifications in the senc geodatabase reader related to the “lazy” loading of information sections. Now, to get information from a dataset, e.g. dataset properties or dataset coverage, you can load the dataset without any performance or memory consumption penalties.

Geometry

  • Geodesic calculations are now implemented in the IGeodesicCalculations interface.

Visualization

  • New parameters are added for the ISceneManager::AddDataSource method: Previous declaration: SceneManager::AddDataSource(wks, &view) Current declaration: SceneManager::AddDataSource(wks, type_of_data, flags, &view, &view_id) The new parameters are:
    type_of_data
    only default value is supported by now "kDataSourceView_TypeName_Navigational," adds data from wks to the chart layers
    flags
    one value "ReplaceView", unloads existing views of an added workspace
  • Instead of the ISceneManager::SetProjectionParameters method, use the ISceneManager::GetSceneParameters and ISceneManager::SetSceneParameters methods. The methods allow setting latitude, longitude and scale for the scene.
  • Instead of the ISceneManager::WinToScene and ISceneManager::SceneToWin methods, use the ISceneManager::CoordinateTransform method. The method provides the following transformations: WinToScene, SceneToWin, WinToGeo, GeoToWin, ViewportToGeo, and GeoToViewport
  • New SceneManager properties are added:
    kSceneManagerPropertyID_MinScale
    Minimum possible scale. Default 10.
    kSceneManagerPropertyID_MaxScale
    Maximum possible scale. Default 10^8.
    kSceneManagerPropertyID_SceneWidth
    Width of the scene in pixels.
    kSceneManagerPropertyID_SceneHeight
    Height of the scene in pixels.
  • Instead of the ISceneManager::Render and the ISceneManager::Display methods, use the ISceneManager::UpdateScene method. It can have the following flags:
    • kUpdateSceneFlags_RenderingAndDisplay to render and display the scene
    • kUpdateSceneFlags_Display to only display the scene
    • kUpdateSceneFlags_WaitRendering to stop the main thread till all is rendered
    NB: The way of controlling the scene when rendering to window has changed (see samples):
    1. Change the viewport and call the UpdateScene method with the kUpdateSceneFlags_Display flag for fast picture moving.
    2. Then call the UpdateScene method with the kUpdateSceneFlags_RenderAndDisplay flag to apply viewport changes to the projection (the viewport is reset automatically).
  • The kPP_DisplayMode portrayal parameter is replaced with two properties in the IDisplayGroupsManager interface:
    • sdk::vis::kDisplayGroupsManagerProperty_DisplayMode with possible values: Base- | Base | Base+ | Standard | Standard+ | Other
    • sdk::vis::kDisplayGroupsManagerProperty_DisplayMode_Short with possible values: Base | Standard | Other
  • A new concept is introduced: "Portrayal Layer" – a group of data portrayed together. New methods were added to the IPortrayalManager interface and a new interface implemented:
    • IPortrayalManager::CreatePortrayalLayer
    • IPortrayalManager::GetPortrayalLayer
    • IPortrayalManager::RemovePortrayalLayer
    • IPortrayalLayer interface
  • A new method added to the IPortrayalManager interface: IPortrayalManager::EnumPossiblePortrayals – indicates which portrayals are available for a specified PRSP.
  • Methods renamed:
    • IPortrayalManager::SetPortrayal renamed to IPortrayalManager::SetCurrentPortrayal
    • IPortrayalManager::GetPortrayal renamed to IPortrayalManager::GetCurrentPortrayal
    • IPortrayalManager::SetCurrentPortrayal renamed to IPortrayalManager::SetCurrentPortrayalVersion
    • IPortrayalManager::GetPortrayalInfo renamed to IPortrayalManager::GetPortrayalInfoFromPath
    • ISceneLayersManager::FindLayer(scene::LayerID) renamed to ISceneLayersManager::FindLayerByID
    • ISceneLayersManager::FindLayer(SDKString) renamed to ISceneLayersManager::FindLayerByName
  • Methods moved:
    • ISceneControl::GetSceneLayersManager moved to the ISceneManager interface and is now called ISceneManager::GetSceneLayersManager
    • ISceneManager::GetPortrayalParameter moved to the IPortrayalManager interface and is now called IPortrayalManager::GetPortrayalParameter
    • ISceneManager::SetPortrayalParameter moved to the IPortrayalManager interface and is now called IPortrayalManager::SetPortrayalParameter
  • Behavior of the AddLayer method has changed: now you need to create a layer first and then add it to the layers list: Instead of the ISceneLayersManager::AddLayer method use the ISceneLayersManager::CreateLayer and ISceneLayersManager::AddLayer methods. In the AddLayer method you can now specify a parent layer, it this case a 'Logic layer' will be created and drawn to the parent texture.
  • The viewing group "21030" has been divided into two groups:
    1. "21030" – Chart scale boundary
    2. "21040" – Over scale data (OVERSCO1)

See Also

See the following topics for more details: