Abstract base class for coordinate operation methods.
abstract class
|
CoordinateOperationMethod
|
extends
|
GeoObject
|
This class also provided various default implementations for well-known transformations.
The configurator object for this type.
public
static
readonly
field
|
Config
|
||
type
|
IConfigurator<CoordinateOperationMethod>
|
Returns the configuration value that describes this object.
public
override
method
|
ToConfig
()
|
||
type
|
ConfigValue
|
||
returns
|
|
The configuration value. | |
overrides
|
GeoObject.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.
Albers (conic, equal-area)
public
static
readonly
field
|
Albers
|
||
type
|
CoordinateOperationMethod
|
Remarks:
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:Albers_Conic_Equal_Area
+proj=aea
Cassini-Soldner (cylindrical)
public
static
readonly
field
|
Cassini
|
||
type
|
CoordinateOperationMethod
|
Remarks:
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:Cassini_Soldner
+proj=cass
Equidistant (cylindrical)
public
static
readonly
field
|
Equirectangular
|
||
type
|
CoordinateOperationMethod
|
Remarks:
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:Equirectangular
+proj=eqc
Maps geographic coordinates (latitude, longitude) onto a cubemap face.
public
static
readonly
field
|
Face
|
||
type
|
CoordinateOperationMethod
|
Remarks:
The mapping from geographic coordinates and cubemap face coordinates is established by the Cubemap class (see GeographicToCube and CubeToFace). Map coordinates (easting, northing) are mapped to cubemap face coordinates as follows:
a = r * pi / 4 map(-a, -a) => face(0, 0); map( a, -a) => face(n, 0); map(-a, a) => face(0, n); map( a, a) => face(n, n);where
n
is
the
cubemap
size
minus
one
and
r
is
the
radius
of
the
reference
sphere
(will
be
RadiusOfAuthalicSphere
for
ellipsoids).
These parameters are defined for this transform:
The latitude and longitude parameters are only used to choose the cubemap face. It is recommended to obtain their values by using ForCubemapFace.See also:
GeorefUtil.FaceBoundsLambert (azimuthal, equal-area)
public
static
readonly
field
|
LambertAzimuthal
|
||
type
|
CoordinateOperationMethod
|
Remarks:
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:Lambert_Azimuthal_Equal_Area
+proj=laea
Lambert (conic, conformal)
public
static
readonly
field
|
LambertConic
|
||
type
|
CoordinateOperationMethod
|
Remarks:
These parameters are defined for this transform:
For the 1SP variant: For the 2SP variant: The following coordinate operation methods are mapped to this transform factory:+proj=lcc
Lambert_Conformal_Conic_1SP
Lambert_Conformal_Conic_2SP
Lambert (cylindrical, equal-area)
public
static
readonly
field
|
LambertCylindrical
|
||
type
|
CoordinateOperationMethod
|
Remarks:
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:Cylindrical_Equal_Area
+proj=cea
Mercator (cylindrical, conformal)
public
static
readonly
field
|
Mercator
|
||
type
|
CoordinateOperationMethod
|
Remarks:
These parameters are defined for this transform:
For the A variant: For the B variant: The following coordinate operation methods are mapped to this transform factory:+proj=merc
Mercator_1SP
Mercator_2SP
Oblique Mercator (cylindrical, conformal)
public
static
readonly
field
|
ObliqueMercatorA
|
||
type
|
CoordinateOperationMethod
|
Remarks:
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:Hotine_Oblique_Mercator
+proj=omerc
Oblique Mercator (cylindrical, conformal)
public
static
readonly
field
|
ObliqueMercatorB
|
||
type
|
CoordinateOperationMethod
|
Remarks:
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:Hotine_Oblique_Mercator_Azimuth_Center
+proj=omerc
Oblique Stereographic (azimuthal, conformal)
public
static
readonly
field
|
ObliqueStereographic
|
||
type
|
CoordinateOperationMethod
|
Remarks:
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:Stereographic
Oblique_Stereographic
+proj=sterea
Polar Stereographic (azimuthal, conformal)
public
static
readonly
field
|
PolarStereographic
|
||
type
|
CoordinateOperationMethod
|
Remarks:
These parameters are defined for this transform:
For the variant A: The following coordinate operation methods are mapped to this transform factory:Polar_Stereographic
+proj=stere
Popular Visualisation Pseudo Mercator
public
static
readonly
field
|
PopularMercator
|
||
type
|
CoordinateOperationMethod
|
Remarks:
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:Mercator_Auxiliary_Sphere
Sinusoidal (pseudo-cylindrical, equal-area)
public
static
readonly
field
|
Sinusoidal
|
||
type
|
CoordinateOperationMethod
|
Remarks:
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:Sinusoidal
+proj=sinu
Transverse Mercator (cylindrical, conformal)
public
static
readonly
field
|
TransverseMercator
|
||
type
|
CoordinateOperationMethod
|
Remarks:
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:Transverse_Mercator
+proj=tmerc
Transverse Mercator South Oriented (cylindrical, conformal)
public
static
readonly
field
|
TransverseMercatorSouth
|
||
type
|
CoordinateOperationMethod
|
Remarks:
These parameters are defined for this transform:
The following coordinate operation methods are mapped to this transform factory:Transverse_Mercator_South_Orientated
The human-readable name of this object.
public
property
|
Name
{
get
}
|
||
type
|
string
|
||
value
|
|
The object name. | |
inherited
|
GeoObject.Name
|
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.SerializeThe type of this geo object.
public
property
|
Type
{
get
}
|
||
type
|
GeoObjectType
|
||
value
|
The geo object type. | ||
inherited
|
GeoObject.Type
|
Creates a coordinate system which uses this coordinate operation method and is centered at the given coordinates.
public
method
|
Topocentric
(GeodeticDatum datum,
LatLon center,
UnitOfMeasure unit = null)
|
||
type
|
CoordinateSystem
|
||
params
|
datum
|
[not-null]
|
The geodetic datum to use. |
center
|
Geographic coordinates of the map origin. The longitude angle is interpreted absolute, i.e. it is not relative to the prime meridian of datum. | ||
unit
|
Unit
of
projected
coordinates.
If
null ,
Metre
will
be
used.
Defaults
to
null .
|
||
returns
|
|
The projected coordinate system. |
Remarks:
The following coordinate operation parameters are initialized by this method:
The final values for easting and northing will be chosen so that center is mapped to Zero.Creates a new instance of ICoordinateTransform, using the given parameters.
public
abstract
method
|
CreateCoordinateTransform
(Ellipsoid ellipsoid,
ICoordinateOperationParameters parameters)
|
||
type
|
ICoordinateTransform
|
||
params
|
ellipsoid
|
[not-null]
|
The ellipsoid specification. |
parameters
|
[not-null]
|
The parameter values. | |
returns
|
|
The created ICoordinateTransform object. |
Initializes the state of this object from the given data stream.
public
override
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
|
GeoObject.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
override
sealed
method
|
Equals
(object other)
|
|||
type
|
bool
|
|||
params
|
other
|
The object to compare to. | ||
returns
|
true
if
this
object
is
equal
to
other,
false
if
not.
|
|||
inherited
|
GeoObject.Equals
|
Compares this object with the given one.
[Pure]
|
||||
public
virtual
method
|
Equals
(IGeoObject other)
|
|||
type
|
bool
|
|||
params
|
other
|
The object to compare to. | ||
returns
|
true
if
this
object
is
equal
to
other,
false
if
not.
|
|||
inherited
|
GeoObject.Equals
|
[Pure]
|
||||
public
override
sealed
method
|
GetHashCode
()
|
|||
type
|
int32
|
|||
inherited
|
GeoObject.GetHashCode
|
Serializes the current state of this object to the given data stream.
public
override
method
|
Serialize
(ISerializer data)
|
||
params
|
data
|
[not-null]
|
The serial data stream. |
inherited
|
GeoObject.Serialize
|
See also:
ISerializable.Deserialize
[Pure]
|
||||
public
override
sealed
method
|
ToString
()
|
|||
type
|
string
|
|||
inherited
|
GeoObject.ToString
|
Validates the given parameters for this coordinate operation method.
public
method
|
ValidateParams
(ICoordinateOperationParameters parameters)
|
||
type
|
CoordinateOperationParameter[]
|
||
params
|
parameters
|
[not-null]
|
The parameters to validate. |
returns
|
The
missing
parameters
or
null
if
all
required
parameters
are
present.
|
The hashcode of this object.
protected
field
|
hashCode
|
||
type
|
int32
|
||
inherited
|
GeoObject.hashCode
|
Remarks:
The hashcode must be computed incrementally in each subclass constructor.
See also:
HashCode
protected
constructor
|
CoordinateOperationMethod
(ISerialTypeInfo serialType)
|
||
params
|
serialType
|
protected
constructor
|
CoordinateOperationMethod
(ISerialTypeInfo serialType,
string name)
|
||
params
|
serialType
|
||
name
|
[EmptyBody]
|
||||
protected
virtual
method
|
DoValidateParameters
(ICoordinateOperationParameters parameters,
ICollector<CoordinateOperationParameter> missing)
|
|||
params
|
parameters
|
|||
missing
|