- All Superinterfaces:
IdentifiedObject
- All Known Subinterfaces:
ConcatenatedOperation
,ConicProjection
,Conversion
,CylindricalProjection
,PassThroughOperation
,PlanarProjection
,Projection
,SingleOperation
,Transformation
- All Known Implementing Classes:
ProjectiveTransform
,SimpleTransform
,SimpleTransform2D
@Classifier(ABSTRACT)
@UML(identifier="CC_CoordinateOperation",
specification=ISO_19111)
public interface CoordinateOperation
extends IdentifiedObject
A mathematical operation on coordinates that transforms or converts coordinates to
another coordinate reference system.
Inverse operation
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.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Key for the"coordinateOperationAccuracy"
property.static final String
Key for the"domainOfValidity"
property.static final String
Key for the"operationVersion"
property.static final String
Key for the"scope"
property.Fields inherited from interface IdentifiedObject
ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY
-
Method Summary
Modifier and TypeMethodDescriptiondefault Collection<PositionalAccuracy>
Estimate(s) of the impact of this operation on point accuracy.default Extent
Area or region or timeframe in which this coordinate operation is valid.Gets the math transform.Version of the coordinate transformation (i.e., instantiation due to the stochastic nature of the parameters).default InternationalString
getScope()
Description of domain of usage, or limitations of usage, for which this operation is valid.Returns the source CRS.Returns the target CRS.Methods inherited from interface IdentifiedObject
getAlias, getIdentifiers, getName, getRemarks, toWKT
-
Field Details
-
OPERATION_VERSION_KEY
Key for the"operationVersion"
property. This is used for setting the value to be returned bygetOperationVersion()
.- See Also:
-
COORDINATE_OPERATION_ACCURACY_KEY
Key for the"coordinateOperationAccuracy"
property. This is used for setting the value to be returned bygetCoordinateOperationAccuracy()
. -
DOMAIN_OF_VALIDITY_KEY
Key for the"domainOfValidity"
property. This is used for setting the value to be returned bygetDomainOfValidity()
.- See Also:
-
SCOPE_KEY
Key for the"scope"
property. This is used for setting the value to be returned bygetScope()
.- See Also:
-
-
Method Details
-
getSourceCRS
@UML(identifier="sourceCRS", obligation=CONDITIONAL, specification=ISO_19111) CoordinateReferenceSystem getSourceCRS()Returns the source CRS. The source CRS is mandatory for transformations only. Conversions may have a source CRS that is not specified here, but throughGeneralDerivedCRS.getBaseCRS()
instead.- Returns:
- the source CRS, or
null
if not available. - See Also:
-
getTargetCRS
@UML(identifier="targetCRS", obligation=CONDITIONAL, specification=ISO_19111) CoordinateReferenceSystem getTargetCRS()Returns the target CRS. The target CRS is mandatory for transformations only. Conversions may have a target CRS that is not specified here, but throughGeneralDerivedCRS
instead.- Returns:
- the target CRS, or
null
if not available. - See Also:
-
getOperationVersion
@UML(identifier="operationVersion", obligation=CONDITIONAL, specification=ISO_19111) String getOperationVersion()Version of the coordinate transformation (i.e., instantiation due to the stochastic nature of the parameters). Mandatory when describing a transformation, and should not be supplied for a conversion.- Returns:
- the coordinate operation version, or
null
in none.
-
getCoordinateOperationAccuracy
@UML(identifier="coordinateOperationAccuracy", obligation=OPTIONAL, specification=ISO_19111) default Collection<PositionalAccuracy> getCoordinateOperationAccuracy()Estimate(s) of the impact of this operation on point accuracy. Gives position error estimates for target coordinates of this coordinate operation, assuming no errors in source coordinates.- Returns:
- the position error estimates, or an empty collection if not available.
-
getDomainOfValidity
@UML(identifier="domainOfValidity", obligation=OPTIONAL, specification=ISO_19111) default Extent getDomainOfValidity()Area or region or timeframe in which this coordinate operation is valid.- Returns:
- the coordinate operation valid domain, or
null
if not available. - See Also:
-
getScope
@UML(identifier="scope", obligation=OPTIONAL, specification=ISO_19111) default InternationalString getScope()Description of domain of usage, or limitations of usage, for which this operation is valid.- Returns:
- a description of domain of usage, or
null
if none. - Departure from OGC/ISO abstract specification:
Departure for historical reason
This method has been kept conformant with the specification published in 2003. The revision published in 2007 replaced the singleton by a collection and changed the obligation from "optional" to "mandatory", requiring a return value of "not known" if the scope is unknown. This change is still under review.
-
getMathTransform
@UML(identifier="CT_CoordinateTransformation.getMathTransform", specification=OGC_01009) MathTransform getMathTransform()Gets the math transform. The math transform will transform positions in the source coordinate reference system into positions in the target coordinate reference system. It may benull
in the case of defining conversions.- Returns:
- the transform from source to target CRS, or
null
if not applicable.
-