public class SimpleGeographicTransform extends Object implements ICoordinateTransform
This transform will map geographic coordinates to an planar coordinate system that can be used for Tinfour processing. The transformation attempts to scale the coordinates to an isotropic coordinate system with positions given in meters. It is important to note that this transform is not a true map projection. In particular, the transformation is not suitable for data collected over areas larger than a few hundred kilometers and is not suitable for coordinates in polar areas. Because it assumes a spherical Earth, it is not suitable for high-precision analysis.
Modifier and Type | Field and Description |
---|---|
static double |
earthFlattening
The flattening ratio for the Earth, as specified by World Geodetic Survey
1984.
|
static double |
earthSemiMajorAxis
Radius of the Earth at the equator, as specified by World Geodetic Survey
1984 (WGS84).
|
static double |
earthSemiMinorAxis
Radius of the Earth at the poles, as specified by World Geodetic Survey
1984 (WGS84).
|
Constructor and Description |
---|
SimpleGeographicTransform(double centerLatitude,
double centerLongitude,
LinearUnits linearUnits)
Constructs a transform with the origin at the specified center latitude and
longitude.
|
Modifier and Type | Method and Description |
---|---|
boolean |
forward(double xSource,
double ySource,
CoordinatePair c)
Transforms a point in a source coordinate system to the equivalent output.
|
double |
getCenterLatitude()
Gets the center latitude used for this projection
|
double |
getCenterLongitude()
Gets the center longitude used for this projection
|
LinearUnits |
getLinearUnits()
Gets the linear units specified for this object
|
boolean |
inverse(double xOutput,
double yOutput,
CoordinatePair c)
Transforms a point in an output coordinate system to the equivalent point
in the source coordinate system.
|
public static final double earthSemiMajorAxis
public static final double earthFlattening
public static final double earthSemiMinorAxis
public SimpleGeographicTransform(double centerLatitude, double centerLongitude, LinearUnits linearUnits)
centerLatitude
- a valid latitude, in degrees, positive to the North,
negative to the South.centerLongitude
- a valid longitude, in degrees, positive to the East,
negative to the West.linearUnits
- the linear unit system to be used for the
transformation, most commonly meters or feet.public boolean forward(double xSource, double ySource, CoordinatePair c)
ICoordinateTransform
All transforms are assumed to be fully invertible (bijective) over their domain. If a forward transform is defined for a set of input coordinates, then the inverse transform must be defined for the resulting output coordinates.
forward
in interface ICoordinateTransform
xSource
- the x value in the source coordinate systemySource
- the y value in the source coordinate systemc
- a simple container to receive the results of
the computation, the transformed coordinates for (xSource, ySource).public boolean inverse(double xOutput, double yOutput, CoordinatePair c)
ICoordinateTransform
All transforms are assumed to be fully invertible (bijective) over their domain. If a forward transform is defined for a set of input coordinates, then the inverse transform must be defined for the resulting output coordinates.
inverse
in interface ICoordinateTransform
xOutput
- x value in the transformed coordinate systemyOutput
- y value in the transformed coordiante systemc
- a simple container to receive the results of the
computation, the transformed coordinates for (xSource, ySource).public double getCenterLatitude()
public double getCenterLongitude()
public LinearUnits getLinearUnits()
Copyright © 2021. All rights reserved.