abstract class
|
DatumTransform
|
implements
|
IDatumTransform
|
||
extends
|
SerializableBase
|
The configurator object for this type.
public
static
property
|
Config
{
get
}
|
||
type
|
IConfigurator<IDatumTransform>
|
||
value
|
|
The configurator object. |
Does this coordinate system transform flip the handedness?
public
virtual
property
|
IsFlip
{
get
}
|
||
type
|
bool
|
||
value
|
true
if
the
coordinate
system
handedness
if
flipped,
false
if
not.
|
||
implements
|
ICoordinateFlip.IsFlip
|
Returns the serial type of this object.
public
property
|
SerialType
{
get
}
|
||
type
|
ISerialTypeInfo
|
||
value
|
|
The serial type. | |
inherited
|
SerializableBase.SerialType
|
Returns the serial data version.
public
virtual
property
|
SerialVersion
{
get
}
|
||
type
|
int32
|
||
value
|
|
The serial data version tag. | |
inherited
|
SerializableBase.SerialVersion
|
Remarks:
An ISerializable implementation is required to support all versions up to the one returned by SerialVersion.
See also:
ISerializable.SerializeApplies the given transformation in the geocentric domain.
public
static
method
|
GeocentricTransform
(Ellipsoid source,
Ellipsoid target,
Mat4D transform)
|
||
type
|
IDatumTransform
|
||
params
|
source
|
[not-null]
|
The source coordinate system (ellipsoid specification). |
target
|
[not-null]
|
The target coordinate system (ellipsoid specification). | |
transform
|
The geocentric transformation matrix. | ||
returns
|
|
The resulting datum transform. |
Remarks:
First, geographic coordinates are converted to geocentric coordinates using the source coordinate system. Then the matrix transformation is applied to the X-, Y- and Z-coordinates. Finally, the geocentric coordinates are converted back to geographic coordinates using the target coordinate system.
Geocentric translations (geog2D domain) EPSG dataset coordinate operation method code 9603
public
static
method
|
GeocentricTranslations
(Ellipsoid source,
Ellipsoid target,
Vec3D t)
|
||
type
|
IDatumTransform
|
||
params
|
source
|
[not-null]
|
The source coordinate system (ellipsoid specification). |
target
|
[not-null]
|
The target coordinate system (ellipsoid specification). | |
t
|
EPSG-8605:
X-axis
translation
(tX )EPSG-8606: Y-axis translation ( tY )EPSG-8607: Z-axis translation ( tZ )
|
||
returns
|
|
The resulting datum transform. |
Transforms 3D geographic coordinates by adding offset values to each component.
public
static
method
|
GeographicOffset
(float64 latitude,
float64 longitude,
float64 height = 0)
|
||
type
|
IDatumTransform
|
||
params
|
latitude
|
The latitude offset, in radians. | |
longitude
|
The longitude offset, in radians. | ||
height
|
The height offset, in vertical units. | ||
returns
|
|
The resulting datum transform. |
Remarks:
This method represents the following:
Position Vector transformation (geog2D domain), EPSG dataset coordinate operation method code 9606
public
static
method
|
Helmert
(Ellipsoid source,
Ellipsoid target,
Vec3D t,
Vec3D r,
float64 dS)
|
||
type
|
IDatumTransform
|
||
params
|
source
|
[not-null]
|
The source coordinate system (ellipsoid specification). |
target
|
[not-null]
|
The target coordinate system (ellipsoid specification). | |
t
|
EPSG-8605:
X-axis
translation
(tX )EPSG-8606: Y-axis translation ( tY )EPSG-8607: Z-axis translation ( tZ )
|
||
r
|
EPSG-8608:
X-axis
rotation
(rX )EPSG-8609: Y-axis rotation ( rY )EPSG-8610: Z-axis rotation ( rZ )
|
||
dS
|
EPSG-8611:
Scale
difference
(dS ),
specified
in
Unity.
|
||
returns
|
|
The resulting datum transform. |
Remarks:
When the axis rotation parameter r is flipped (see Neg), the returned datum transform represents the Coordinate Frame Rotation (geog2D domain), EPSG dataset coordinate operation method code 9607.
Creates a custom linear datum transform.
public
static
method
|
Linear
(float64 latitude,
float64 longitude,
float64 scale = 1,
float64 offset = 0)
|
||
type
|
IDatumTransform
|
||
params
|
latitude
|
Latitude offset, in radians. | |
longitude
|
Longitude offset, in radians. | ||
scale
|
Height scale factor. | ||
offset
|
Height offset value. | ||
returns
|
|
The resulting datum transform. |
Remarks:
For
the
given
input
coordinates
(lambda,
phi,
h)
,
the
transformation
will
give:
(lambda
+
longitude,
phi
+
latitude,
h
*
scale
+
offset)
.
Molodensky-Badekas (PV geog2D domain), EPSG dataset coordinate operation method code 1063
public
static
method
|
Molodensky
(Ellipsoid source,
Ellipsoid target,
Vec3D t,
Vec3D r,
Vec3D p,
float64 dS)
|
||
type
|
IDatumTransform
|
||
params
|
source
|
[not-null]
|
The source coordinate system (ellipsoid specification). |
target
|
[not-null]
|
The target coordinate system (ellipsoid specification). | |
t
|
EPSG-8605:
X-axis
translation
(tX )EPSG-8606: Y-axis translation ( tY )EPSG-8607: Z-axis translation ( tZ )
|
||
r
|
EPSG-8608:
X-axis
rotation
(rX )EPSG-8609: Y-axis rotation ( rY )EPSG-8610: Z-axis rotation ( rZ )
|
||
p
|
EPSG-8617:
Ordinate
1
of
evaluation
point
(Xp )EPSG-8618: Ordinate 2 of evaluation point ( Xp )EPSG-8667: Ordinate 3 of evaluation point ( Xp )
|
||
dS
|
EPSG-8611:
Scale
difference
(dS ),
specified
in
Unity.
|
||
returns
|
|
The resulting datum transform. |
Remarks:
When the axis rotation parameter r is flipped (see Neg), the returned datum transform represents the Molodensky-Badekas (CF geog2D domain), EPSG dataset coordinate operation method code 9636.
Vertical Offset, EPSG dataset coordinate operation method code 9616.
public
static
method
|
VerticalOffset
(CoordinateSystem source,
CoordinateSystem target,
float64 verticalOffset,
UnitOfMeasure unit = null)
|
||
type
|
IDatumTransform
|
||
params
|
source
|
[not-null]
|
The source coordinate system. |
target
|
[not-null]
|
The target coordinate system. | |
verticalOffset
|
The vertical offset parameter. | ||
unit
|
Unit
of
measure
for
vertical
offset.
If
null ,
Metre
will
be
used.
Defaults
to
null .
|
||
returns
|
|
The resulting datum transform. |
Appends the given datum transforms to this one.
public
virtual
method
|
Append
(IDatumTransform other)
|
||
type
|
IDatumTransform
|
||
params
|
other
|
[not-null]
|
The datum transform to append. |
returns
|
|
The resulting transform. | |
implements
|
IDatumTransform.Append
|
Initializes the state of this object from the given data stream.
public
virtual
method
|
Deserialize
(int32 serialVersion,
ISerializer data)
|
||
type
|
ISerializable
|
||
params
|
serialVersion
|
[>=1]
|
The serial data version. |
data
|
[not-null]
|
The serial data stream. | |
returns
|
|
The
deserialized
object.
This
will
typically
be
this ,
but
in
some
circumstances,
another
instance
may
be
returned
(e.g.
singletons).
|
|
inherited
|
SerializableBase.Deserialize
|
Remarks:
The Deserialize method will be called immediately after the object has been instantiated via its default constructor.
The provided serialVersion number is guaranteed to be equal to or less than the SerialVersion returned by this object (i.e. ISerializable object must provide backwards compatibility).
See also:
ISerializable.SerializeCompares this object with the given one.
[Pure]
|
||||
public
abstract
method
|
Equals
(IDatumTransform other)
|
|||
type
|
bool
|
|||
params
|
other
|
The object to compare to. | ||
returns
|
true
if
this
object
is
equal
to
other,
false
if
not.
|
|||
implements
|
IEquatable.Equals
|
Returns the reverse datum transform.
public
abstract
method
|
Reverse
()
|
||
type
|
IDatumTransform
|
||
returns
|
|
The reverse transform. | |
implements
|
IDatumTransform.Reverse
|
Serializes the current state of this object to the given data stream.
public
virtual
method
|
Serialize
(ISerializer data)
|
||
params
|
data
|
[not-null]
|
The serial data stream. |
inherited
|
SerializableBase.Serialize
|
See also:
ISerializable.DeserializeReturns the configuration value that describes this object.
public
abstract
method
|
ToConfig
()
|
||
type
|
ConfigValue
|
||
returns
|
|
The configuration value. | |
implements
|
IConfigurable.ToConfig
|
Remarks:
All configurable objects need to implement this interface. For simple types, it is preferable to delegate to ToValue.
The returned value may be of type Invalid, which means that this object in its current state cannot be described with the configuration API.
Before returning the resulting configuration value, Cache must be called on it, passing this IConfigurable object as parameter.
Transforms the geographic coordinates from the source datum to the target datum.
public
abstract
method
|
Transform
(float64 latitude,
float64 longitude,
float64 height)
|
||
type
|
Vec3D
|
||
params
|
latitude
|
Latitude in radians, in terms of source horizontal datum. | |
longitude
|
Longitude in radians, in terms of source horizontal datum. | ||
height
|
Height value, in terms of source horizontal and vertical datums. | ||
returns
|
The resulting longitude (X), latitude (Y) and height (Z), in terms of target horizontal and vertical datums. | ||
implements
|
IDatumTransform.Transform
|
protected
constructor
|
DatumTransform
(ISerialTypeInfo serialType)
|
||
params
|
serialType
|