TINMAN 3D / REALTIME TERRAIN
Software Development Kit - User Manual

class CoordinateOperationMethod in Tinman.Terrain.Georef

Abstract base class for coordinate operation methods.

abstract class CoordinateOperationMethod extends GeoObject

Remarks

This class also provided various default implementations for well-known transformations.

Configuration

Config

The configurator object for this type.

public static readonly field Config
type IConfigurator<CoordinateOperationMethod>

ToConfig

Returns the configuration value that describes this object.

public override method ToConfig ()
type ConfigValue
returns [not-null] 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.

Public / Constants

Albers

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:

Cassini

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:

Equirectangular

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:

Face

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.FaceBounds
Ellipsoid.FaceBounds
GeodeticDatum.FaceBounds
CoordinateSystem.FaceBounds
Raster.FaceBounds
Cubemap.GeographicToCube

LambertAzimuthal

Lambert (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:

LambertConic

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:
For the 1SP variant: For the 2SP variant:

LambertCylindrical

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:

Mercator

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:
For the A variant: For the B variant:

ObliqueMercatorA

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:

ObliqueMercatorB

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:

ObliqueStereographic

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:

PolarStereographic

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:
For the variant A: For the variant B:

PopularMercator

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:

Sinusoidal

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:

TransverseMercator

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:

TransverseMercatorSouth

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:

Public / Attributes

Name

The human-readable name of this object.

public property Name { get }
type string
value [not-empty] The object name.
inherited GeoObject.Name

SerialType

Returns the serial type of this object.

public property SerialType { get }
type ISerialTypeInfo
value [not-null] The serial type.
inherited SerializableBase.SerialType

SerialVersion

Returns the serial data version.

public virtual property SerialVersion { get }
type int32
value [>=1] 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.Serialize
ISerializable.Deserialize

Type

The type of this geo object.

public property Type { get }
type GeoObjectType
value The geo object type.
inherited GeoObject.Type

Public / Constructors

Topocentric

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 [not-null] 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.

Public / Methods

CreateCoordinateTransform

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 [not-null] The created ICoordinateTransform object.

Deserialize

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 [not-null] 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.Serialize
ISerializable.SerialVersion

Equals

Compares 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

GetHashCode

[Pure]
public override sealed method GetHashCode ()
type int32
inherited GeoObject.GetHashCode

Serialize

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
ISerializable.SerialVersion

ToString

[Pure]
public override sealed method ToString ()
type string
inherited GeoObject.ToString

ValidateParams

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.

Protected / Attributes

hashCode

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 / Constructors

CoordinateOperationMethod

protected constructor CoordinateOperationMethod (ISerialTypeInfo serialType)
params serialType

protected constructor CoordinateOperationMethod (ISerialTypeInfo serialType, string name)
params serialType
  name

Protected / Methods

DoValidateParameters

[EmptyBody]
protected virtual method DoValidateParameters (ICoordinateOperationParameters parameters, ICollector<CoordinateOperationParameter> missing)
params parameters
  missing