DatumShift Class
Abstract base class for coordinate transformations from one GeodeticDatum to another.
NuGet/Assembly: Carmenta.Engine.5.16.2.nupkg (in the CECore assembly)
Syntax
public abstract class DatumShift : ResourceObjectRemarks
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 (not available in C#)
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. |