public class AbstractCoordinateOperation extends AbstractIdentifiedObject implements CoordinateOperation
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.
Modifier and Type | Field and Description |
---|---|
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.
|
EMPTY_ALIAS_ARRAY, EMPTY_IDENTIFIER_ARRAY, IDENTIFIER_COMPARATOR, NAME_COMPARATOR, REMARKS_COMPARATOR
SINGLE_LINE
COORDINATE_OPERATION_ACCURACY_KEY, DOMAIN_OF_VALIDITY_KEY, OPERATION_VERSION_KEY, SCOPE_KEY
ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY
Constructor and Description |
---|
AbstractCoordinateOperation(Map<String,?> properties,
CoordinateReferenceSystem sourceCRS,
CoordinateReferenceSystem targetCRS,
MathTransform transform)
Constructs a coordinate operation from a set of properties.
|
Modifier and Type | Method and Description |
---|---|
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.
|
asSet, ensureAngularUnit, ensureLinearUnit, ensureNonNull, ensureNonNull, ensureTimeUnit, equals, equals, equals, equals, getAlias, getIdentifier, getIdentifier, getIdentifiers, getName, getName, getName, getProperties, getProperties, getRemarks, nameMatches, nameMatches, nameMatches
cleanupThreadLocals, toString, toWKT, toWKT, toWKT, toWKT
getAlias, getIdentifiers, getName, getRemarks, toWKT
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
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.public CoordinateReferenceSystem getSourceCRS()
getSourceCRS
in interface CoordinateOperation
null
if not available.Conversion.getSourceCRS()
,
Transformation.getSourceCRS()
public CoordinateReferenceSystem getTargetCRS()
getTargetCRS
in interface CoordinateOperation
null
if not available.Conversion.getTargetCRS()
,
Transformation.getTargetCRS()
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
null
if not available.public Extent getValidArea()
getDomainOfValidity()
.null
if not available.public InternationalString getScope()
getScope
in interface CoordinateOperation
null
if none.public MathTransform getMathTransform()
getMathTransform
in interface CoordinateOperation
null
if not applicable.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()
Copyright © 1996–2019 Geotools. All rights reserved.