Developer Reference V1.8.0.181 Release Notes

This article relates to the changes between ENCX and ENCX

Depth at Point from ENC chart

Finding the depth at a pixel position is (a) quite difficult and (b) something people ask us about a lot. We have added a method to the S57Draw class. It returns a bool to indicate whether it found a depth at that point and an out parameter giving the depth in metres (or in meters for our US customers). We expect it to get used in tooltips - but if you find it takes too long you might want to put it into the hover tip instead.

This incorporates the depth of any displayed feature at the pixel position, such as underwater rocks (UWTROC), Obstructions (OBSTRN) and Wrecks (WRECKS) as well as the normal depth area, dredged areas and soundings.

Here's some code from our test application:

ENCX.PixelPoint pt = new ENCX.PixelPoint();
pt.X = (float)e.X;
pt.Y = (float)e.Y;
double depth;
if (m_draw.DepthAtPoint(pt, out depth))
    Console.WriteLine("No depth");

Initialise GeoLine class using a start point, bearing and distance

A new method CreateFromBearingAndLength has been added to the GeoLine class.

Properties for the bearing of the line at the start and at the end have been added as well.

IHO ENC presentation library 3.4 MD 07

We have upgraded the S-52 (presentation standard for S-57/ENC) presentation library to version 3.4 including maintenance document 07. This is the latest version.

Improved Support for Inland ENCs

Some Inland ENCs did not install correctly as ENCs. Now Inland ENCS (IENCs) are a separate product with an appropriate entry in the S57Product enumeration.

Also emerging from this work: we have added an IsInProduct method to the S57Attribute class - this replaces the property Product which should no longer be used. This is because an S-57 attribute can be used in more than one product. This new method has also been added to S57ObjectClass.

We do not have complete symbology for IENCs as yet.

Change to how text is drawn

To improve the contrast of text displayed we have added a slight white outline around it.


Excessive OnChanged notifications fixed

The S57CatalogueObserver was firing too many change events after an S57 chart folder had been upgraded.

S57Manager.UserPermit() failed with no dongle

Calling UserPermit() when the was no dongle or the dongle had not yet fully initialised resulted in an untidy crash. Fixed.

North Arrow, Scale Bar and Overscale Indication

These were stuck turned off. So ENCX did not display them. Fixed.