|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
ObjectFormattable
AbstractIdentifiedObject
AbstractCoordinateOperation
public class AbstractCoordinateOperation
Establishes an association between a source and a target coordinate reference system, and provides a transform for transforming coordinates in the source CRS to coordinates in the target CRS. Many but not all coordinate operations (from coordinate reference system A to coordinate reference system B) also uniquely define the inverse operation (from coordinate reference system B to coordinate reference system A). In some cases, the operation method algorithm for the inverse operation is the same as for the forward algorithm, but the signs of some operation parameter values must be reversed. In other cases, different algorithms are required for the forward and inverse operations, but the same operation parameter values are used. If (some) entirely different parameter values are needed, a different coordinate operation shall be defined.
This class is conceptually abstract, even if it is technically possible to
instantiate it. Typical applications should create instances of the most specific subclass with
Default
prefix instead. An exception to this rule may occurs when it is not possible to
identify the exact type.
Field Summary | |
---|---|
protected Extent |
domainOfValidity
Area in which this operation is valid, or null if not available. |
static PositionalAccuracy[] |
EMPTY_ACCURACY_ARRAY
An empty array of positional accuracy. |
protected CoordinateReferenceSystem |
sourceCRS
The source CRS, or null if not available. |
protected CoordinateReferenceSystem |
targetCRS
The target CRS, or null if not available. |
protected MathTransform |
transform
Transform from positions in the source coordinate reference system to positions in the target coordinate reference system. |
Fields inherited from class AbstractIdentifiedObject |
---|
EMPTY_ALIAS_ARRAY, EMPTY_IDENTIFIER_ARRAY, IDENTIFIER_COMPARATOR, NAME_COMPARATOR, REMARKS_COMPARATOR |
Fields inherited from class Formattable |
---|
SINGLE_LINE |
Fields inherited from interface CoordinateOperation |
---|
COORDINATE_OPERATION_ACCURACY_KEY, DOMAIN_OF_VALIDITY_KEY, OPERATION_VERSION_KEY, SCOPE_KEY |
Fields inherited from interface IdentifiedObject |
---|
ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY |
Constructor Summary | |
---|---|
AbstractCoordinateOperation(Map<String,?> properties,
CoordinateReferenceSystem sourceCRS,
CoordinateReferenceSystem targetCRS,
MathTransform transform)
Constructs a coordinate operation from a set of properties. |
Method Summary | |
---|---|
boolean |
equals(AbstractIdentifiedObject object,
boolean compareMetadata)
Compares this coordinate operation with the specified object for equality. |
protected String |
formatWKT(Formatter formatter)
Format this operation as a pseudo-WKT format. |
double |
getAccuracy()
Convenience method returning the accuracy in meters. |
static double |
getAccuracy(CoordinateOperation operation)
Convenience method returning the accuracy in meters for the specified operation. |
Collection<PositionalAccuracy> |
getCoordinateOperationAccuracy()
Estimate(s) of the impact of this operation on point accuracy. |
Extent |
getDomainOfValidity()
Area or region or timeframe in which this coordinate operation is valid. |
MathTransform |
getMathTransform()
Gets the math transform. |
String |
getOperationVersion()
Version of the coordinate transformation (i.e., instantiation due to the stochastic nature of the parameters). |
Collection<PositionalAccuracy> |
getPositionalAccuracy()
Deprecated. Renamed as getCoordinateOperationAccuracy() . |
InternationalString |
getScope()
Description of domain of usage, or limitations of usage, for which this operation is valid. |
CoordinateReferenceSystem |
getSourceCRS()
Returns the source CRS. |
CoordinateReferenceSystem |
getTargetCRS()
Returns the target CRS. |
static Class<? extends CoordinateOperation> |
getType(CoordinateOperation object)
Returns the most specific GeoAPI interface implemented by the specified operation. |
Extent |
getValidArea()
Deprecated. Renamed getDomainOfValidity() . |
int |
hashCode()
Returns a hash code value for this coordinate operation. |
Methods inherited from class AbstractIdentifiedObject |
---|
asSet, ensureAngularUnit, ensureLinearUnit, ensureNonNull, ensureNonNull, ensureTimeUnit, equals, equals, equals, equals, getAlias, getIdentifier, getIdentifier, getIdentifiers, getName, getName, getName, getProperties, getProperties, getRemarks, nameMatches, nameMatches, nameMatches |
Methods inherited from class Formattable |
---|
toString, toWKT, toWKT, toWKT |
Methods inherited from class Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface IdentifiedObject |
---|
getAlias, getIdentifiers, getName, getRemarks, toWKT |
Field Detail |
---|
public static final PositionalAccuracy[] EMPTY_ACCURACY_ARRAY
getPositionalAccuracy().toArray(EMPTY_ACCURACY_ARRAY);
protected final CoordinateReferenceSystem sourceCRS
null
if not available.
protected final CoordinateReferenceSystem targetCRS
null
if not available.
protected final Extent domainOfValidity
null
if not available.
protected final MathTransform transform
Constructor Detail |
---|
public AbstractCoordinateOperation(Map<String,?> properties, CoordinateReferenceSystem sourceCRS, CoordinateReferenceSystem targetCRS, MathTransform transform)
Property name | Value type | Value given to |
---|---|---|
"operationVersion" | String |
getOperationVersion() |
"coordinateOperationAccuracy" | PositionalAccuracy[] |
getCoordinateOperationAccuracy() |
"domainOfValidity" | Extent |
getDomainOfValidity() |
"scope" | String or InternationalString |
getScope() |
properties
- Set of properties. Should contains at least "name"
.sourceCRS
- The source CRS.targetCRS
- The target CRS.transform
- Transform from positions in the source CRS
to positions in the target CRS.Method Detail |
---|
public CoordinateReferenceSystem getSourceCRS()
getSourceCRS
in interface CoordinateOperation
public CoordinateReferenceSystem getTargetCRS()
getTargetCRS
in interface CoordinateOperation
public String getOperationVersion()
getOperationVersion
in interface CoordinateOperation
null
in none.public Collection<PositionalAccuracy> getCoordinateOperationAccuracy()
getCoordinateOperationAccuracy
in interface CoordinateOperation
getAccuracy()
public Collection<PositionalAccuracy> getPositionalAccuracy()
getCoordinateOperationAccuracy()
.
getAccuracy()
public double getAccuracy()
getAccuracy(this)
. Subclasses
should override this method if they can provide a more accurate algorithm.
public static double getAccuracy(CoordinateOperation operation)
DATUM_SHIFT_APPLIED
and
DATUM_SHIFT_OMITTED
metadata.
If a datum shift has been applied, returns 25 meters. If a datum shift should have
been applied but has been omitted, returns 1000 meters. The 1000 meters value is
higher than the highest value (999 meters) found in the EPSG database version 6.7.
The 25 meters value is the next highest value found in the EPSG database for a
significant number of transformations.
operation
- The operation to inspect for accuracy.
public Extent getDomainOfValidity()
null
if not available.
getDomainOfValidity
in interface CoordinateOperation
public Extent getValidArea()
getDomainOfValidity()
.
null
if not available.public InternationalString getScope()
getScope
in interface CoordinateOperation
public MathTransform getMathTransform()
getMathTransform
in interface CoordinateOperation
public static Class<? extends CoordinateOperation> getType(CoordinateOperation object)
object
- A coordinate operation.
Transformation.class
).public boolean equals(AbstractIdentifiedObject object, boolean compareMetadata)
compareMetadata
is true
, then all available properties are
compared including domain of validity and
scope.
equals
in class AbstractIdentifiedObject
object
- The object to compare to this
.compareMetadata
- true
for performing a strict comparaison, or
false
for comparing only properties relevant to transformations.
true
if both objects are equal.public int hashCode()
hashCode
in class AbstractIdentifiedObject
protected String formatWKT(Formatter formatter)
formatWKT
in class Formattable
formatter
- The formatter to use.
Formattable.toWKT()
,
Formattable.toString()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |