IHorizontalDatum Interface Reference

A way to convert a geographical position between a local horizontal datum and WGS84. More...

import "_encxcom_encx.idl";

Inheritance diagram for IHorizontalDatum:

List of all members.

Public Member Functions

HRESULT LocalToWGS84 ([out] DOUBLE *LatWGS84,[out] DOUBLE *LonWGS84,[in] DOUBLE LatLocal,[in] DOUBLE LonLocal,[out, retval] VARIANT_BOOL *bRes)
 Convert a geopgraphical position on the local datum to WGS84.
HRESULT WGS84ToLocal ([out] DOUBLE *LatLocal,[out] DOUBLE *LonLocal,[in] DOUBLE LatWGS84,[in] DOUBLE LonWGS84,[out, retval] VARIANT_BOOL *bRes)
 Convert a geopgraphical position on WGS84 to the local datum.

Properties

DOUBLE * ErrorDistanceMetres [get]
 The accuracy of the transformation. Units are metres.
VARIANT_BOOL * HasLocalDatum [get]
 Returns true if the chart has a local datum which is not WGS84.
BSTR * LocalDatumShortName [get]
 The local datum name in either long or short form. See HCRF 2.0 A.4 HORIZONTAL DATUM CODES.
BSTR * LocalDatumLongName [get]
 The local datum name in either long or short form. See HCRF 2.0 A.4 HORIZONTAL DATUM CODES.


Detailed Description

A way to convert a geographical position between a local horizontal datum and WGS84.

A horizontal datum may be provided for each panel on a raster chart.

Definition at line 664 of file _encxcom_encx.idl.


Member Function Documentation

HRESULT IHorizontalDatum::LocalToWGS84 ( [out] DOUBLE *  LatWGS84,
[out] DOUBLE *  LonWGS84,
[in] DOUBLE  LatLocal,
[in] DOUBLE  LonLocal,
[out, retval] VARIANT_BOOL *  bRes 
)

Convert a geopgraphical position on the local datum to WGS84.

Returns false if the position is outside the area of the datum - the conversion will still be performed but will be less accurate.

HRESULT IHorizontalDatum::WGS84ToLocal ( [out] DOUBLE *  LatLocal,
[out] DOUBLE *  LonLocal,
[in] DOUBLE  LatWGS84,
[in] DOUBLE  LonWGS84,
[out, retval] VARIANT_BOOL *  bRes 
)

Convert a geopgraphical position on WGS84 to the local datum.

Returns false if the position is outside the area of the datum - the conversion will still be performed but will be less accurate.


Property Documentation

DOUBLE* IHorizontalDatum::ErrorDistanceMetres [get]

The accuracy of the transformation. Units are metres.

VARIANT_BOOL* IHorizontalDatum::HasLocalDatum [get]

Returns true if the chart has a local datum which is not WGS84.

Some ARCS charts use a local datum other than WGS84. ARCS polynomials support non-linear datum shifts (see Admiralty List of Radio Signals Volume 8 NP288 for an explanation).

Raster charts which do not have accurate WGS84 transformation polynomials behave as charts with a local datum. In this case the offset (between local and WGS84) is linear and determined by CRasPanelInfo::ManualWGS84Shift(). The default is zero.

Typically local datum conversions are only needed when dealing with external position information which is in the same local datum as the chart.

BSTR* IHorizontalDatum::LocalDatumShortName [get]

The local datum name in either long or short form. See HCRF 2.0 A.4 HORIZONTAL DATUM CODES.

BSTR* IHorizontalDatum::LocalDatumLongName [get]

The local datum name in either long or short form. See HCRF 2.0 A.4 HORIZONTAL DATUM CODES.