DatumShift Class
Abstract base class for coordinate transformations from one GeodeticDatum to another.
NuGet/Assembly: Carmenta.Engine.5.17.0.nupkg (in the CECore assembly)
Syntax
public abstract class DatumShift : ResourceObject
Remarks
When a new GeodeticDatum is defined (see class diagram), it must get a DatumShift that relates the new geodetic datum instance to an an already existing one, via a method to transform longitude and latitude between them. The DatumShift refers to the already existing datum via its KnownDatum property. Usually, coordinate transformations will occur automatically when a map configuration is used. In fact, your application cannot call any methods in a DatumShift object: the DatumShift is attached to a new GeodeticDatum, which is attached to a Crs, and it is only the Crs methods that are public.
Since DatumShift is an abstract base class, you must choose one of the derived classes when you want to define a DatumShift.
A ChangedPrimeMeridianDatumShift tells that two datums differ only in their PrimeMeridian.
A FallbackDatumShift contains a preferred DatumShift, as well as one or more fallbacks.
A GridFileDatumShift uses a file with a grid of correction vectors, and can give high accuracy.
A HelmertDatumShift, also known as 7-parameter, 3-parameter, or Burša-Wolf transformation, can handle the systematic difference between two datums, but not local distortions.
An IdentityDatumShift tells that two datums can be regarded as equivalent.
A LongLatOffsetDatumShift is simple but inaccurate for larger areas.
Inheritance Hierarchy
System.Object
EngineObject
ResourceObject
DatumShift
ChangedPrimeMeridianDatumShift
FallbackDatumShift
GridFileDatumShift
HelmertDatumShift
IdentityDatumShift
LongLatOffsetDatumShift
Platforms
Windows, Linux, Android
DatumShift Members
The DatumShift type has the following members.
Properties
Name | Description |
---|---|
Authority | Gets the name of an authority, which is often "epsg". |
AuthorityCode | Gets the unique code for the datum shift instance, according to the Authority, for example "15978". |
Info | Gets documentation like accuracy and area of use. |
IsDisposed | Gets a value that tells whether the current DatumShift has been disposed. Inherited from EngineObject |
KnownDatum | Gets the known datum, usually WGS84. |
Name | Gets or sets the name of the DatumShift. Inherited from ResourceObject |
NativeHandle | Gets the native Carmenta Engine kernel object the current DatumShift represents. Inherited from EngineObject |
IUserProperties.UserProperties | Gets the AttributeSet that contains the user properties. Inherited from IUserProperties |
Methods
Name | Description |
---|---|
Clone | Creates a copy of an object. Inherited from EngineObject |
Dispose | Releases the reference to the native Carmenta Engine kernel instance the EngineObject represents. Inherited from EngineObject |
Equals | Determines whether this instance is equal to another. Inherited from EngineObject |
Constructs a datum shift from a DatumShiftInfo. |