Geocentric
Description
The Geocentric class represents a geocentric coordinate system aka. an Earth-centered, Earth-fixed coordinate system (ECEF) and provides methods for converting between geographic and cartesian coordinates.
The plain geocentric coordinate axes define a right-handed cartesian coordinate system:
-
X : axis through the intersection of the equator with longitude 0°.
-
Y : axis through the intersection of the equator with longitude 90°.
-
Z : axis corresponding with the planet rotation axis (positive northwards).
After creating an Geocentric object, additional information must be given before non-ellipsoid height values can be used (see Vertical2 and Vertical1). A custom matrix (see Transform) can be specified to transform the plain geocentric coordinate space.
- See also
Public / Constructors
For
3 overloads
Creates a new instance of Geocentric.
The GeodeticDatum.Meridian of datum in will be used as longitude 0°.
Creates a new instance of Geocentric.
Creates a new instance of Geocentric.
Public / Methods
ToGeocentric
6 overloads
Converts the given geographic coordinates to cartesian coordinates.
Converts the given geographic coordinates to cartesian coordinates.
Converts the given geographic coordinates to cartesian coordinates.
Converts the given geographic coordinates to cartesian coordinates.
Converts the given geographic coordinates to cartesian coordinates.
Converts the given geographic coordinates to cartesian coordinates.
ToGeographic2D
2 overloads
Converts the given cartesian coordinates to geographic coordinates.
Converts the given cartesian coordinates to geographic coordinates.
ToGeographic3D
2 overloads
Converts the given cartesian coordinates to geographic coordinates.
Converts the given cartesian coordinates to geographic coordinates.
ToLatLon
2 overloads
Converts the given cartesian coordinates to geographic coordinates.
Converts the given cartesian coordinates to geographic coordinates.
ToLatLonHeight
2 overloads
Converts the given cartesian coordinates to geographic coordinates.
Converts the given cartesian coordinates to geographic coordinates.
ToLocalSpace
Helper method that delegates to CoordinateSystem.ToLocalSpace, passing the unit and handedness of this geocentric coordinate system.
To compute a transformation matrix from a projected coordinate system to geocentric space, the following steps must be performed:
-
Use the matrix returned by this method to adjust the orientation and scale of the coordinate axes, for transforming from the projected coordinate system to local-space.
-
Use the matrix returned by IGeometry.ComputeLocal1 to rotate local-space to the geocentric frame.
-
Use the position returned by ToGeocentric4 to move the rotated local-space to the correct geocentric position.
ToNormal
3 overloads
Computes the surface normal vector for the given geographic coordinates.
Computes the surface normal vector for the given geographic coordinates.
Computes the surface normal vector for the given geographic coordinates.
ToVerticalOffset
3 overloads
Computes the offset from the given vertical coordinate type to ellipsoid height.
The returned offset is defined as follows:
offset = ellipsoid - coordinate ellipsoid = coordinate + offset coordinate = ellipsoid - offset
where coordinate
is the vertical coordinate of type vertical in and ellipsoid
is the ellipsoid height of some point in world-space.
Computes the offset from the given vertical coordinate type to ellipsoid height.
The returned offset is defined as follows:
offset = ellipsoid - coordinate ellipsoid = coordinate + offset coordinate = ellipsoid - offset
where coordinate
is the vertical coordinate of type vertical in and ellipsoid
is the ellipsoid height of some point in world-space.
Computes the offset from the given vertical coordinate type to ellipsoid height.
The returned offset is defined as follows:
offset = ellipsoid - coordinate ellipsoid = coordinate + offset coordinate = ellipsoid - offset
where coordinate
is the vertical coordinate of type vertical in and ellipsoid
is the ellipsoid height of some point in world-space.
ToVerticalType
Translates the given geographic coordinates to the specified vertical coordinate type.
Transform
Transform the geocentric coordinate space.
The output coordinates of ToGeocentric
are transformed by matrix in. The input coordinates of ToGeographic
are transformed by the inverse of matrix in. The output vectors of ToNormal
are transformed by the inverse transpose of matrix in.
Vertical
2 overloads
Provides additional objects for handling the vertical coordinate types VerticalType.Gravity and VerticalType.Height.
A IMapTransform object will be created for gravity in and elevation in, to convert latitude and longitude to dataset coordinates. Computations regarding coordinate conversion may be avoided by specifying heightmaps of type MapType.Cube that use the same coordinate system as this Geocentric object.
When reading elevation values from the given heightmaps, no interpolation will be performed by the Geocentric class. Instead, the nearest heightmap sample will be used. To enable interpolation, make sure to scale gravity in and/or elevation in to a suitable size, before passing them to this method (for example HeightmapsUtil.MaxSize).
- GeorefException
-
If the geo-reference parameters of gravity in or elevation in are incomplete or invalid.
- See also
Provides additional objects for handling the vertical coordinate type VerticalType.HeightMesh.
- See also
VerticalClear
Clears the additional objects handling the vertical coordinate types VerticalType.Gravity, VerticalType.Height and VerticalType.HeightMesh.
VerticalCopy
Provides additional objects for handling the vertical coordinate types VerticalType.Gravity, VerticalType.Height and VerticalType.HeightMesh, by copying them from the given other Geocentric object.
- See also
Public / Attributes
Geometry
Creates a IGeometry object for this Geocentric frame.
The returned geometry will have a map size of MappingUtil.MaxSize and a map type of MapType.Cube.
- See also
Unit
The length unit of the geocentric coordinates.
The length unit is either specified directly at creation time or inferred from Ellipsoid.Unit of GeodeticDatum.Ellipsoid of CoordinateSystem.Geographic of Raster.Coordinates of IGeorefInfo.Georef.