|
||||||||||
| 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 |
|---|
cleanupThreadLocals, toString, toWKT, 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 CoordinateOperationnull if not available.Conversion.getSourceCRS(),
Transformation.getSourceCRS()public CoordinateReferenceSystem getTargetCRS()
getTargetCRS in interface CoordinateOperationnull if not available.Conversion.getTargetCRS(),
Transformation.getTargetCRS()public String getOperationVersion()
getOperationVersion in interface CoordinateOperationnull in none.public Collection<PositionalAccuracy> getCoordinateOperationAccuracy()
getCoordinateOperationAccuracy in interface CoordinateOperationgetAccuracy()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 CoordinateOperationnull if not available.public Extent getValidArea()
getDomainOfValidity().
null if not available.public InternationalString getScope()
getScope in interface CoordinateOperationnull if none.public MathTransform getMathTransform()
getMathTransform in interface CoordinateOperationnull 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 AbstractIdentifiedObjectobject - 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 AbstractIdentifiedObjectprotected String formatWKT(Formatter formatter)
formatWKT in class Formattableformatter - The formatter to use.
Formattable.toWKT(),
Formattable.toString()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||