| org.geotools.referencing.AbstractIdentifiedObject org.geotools.referencing.operation.AbstractCoordinateOperation
All known Subclasses: org.geotools.referencing.operation.DefaultConcatenatedOperation, org.geotools.referencing.operation.DefaultSingleOperation,
AbstractCoordinateOperation | public class AbstractCoordinateOperation extends AbstractIdentifiedObject implements CoordinateOperation(Code) | | Establishes an association between a source and a target coordinate reference system,
and provides a
for transforming coordinates in
the source CRS to coordinates in the target CRS. Many but not all coordinate operations (from
A to
B)
also uniquely define the inverse operation (from
B to
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.
since: 2.1 version: $Id: AbstractCoordinateOperation.java 28264 2007-12-05 21:53:08Z desruisseaux $ author: Martin Desruisseaux |
Field Summary | |
final public static PositionalAccuracy[] | EMPTY_ACCURACY_ARRAY An empty array of positional accuracy. | final protected Extent | domainOfValidity Area in which this operation is valid, or
null if not available. | final String | operationVersion Version of the coordinate transformation
(i.e., instantiation due to the stochastic nature of the parameters). | final protected CoordinateReferenceSystem | sourceCRS The source CRS, or
null if not available. | final protected CoordinateReferenceSystem | targetCRS The target CRS, or
null if not available. | final protected MathTransform | transform Transform from positions in the
to positions in the
. |
Constructor Summary | |
| AbstractCoordinateOperation(Conversion definition, CoordinateReferenceSystem sourceCRS, CoordinateReferenceSystem targetCRS, MathTransform transform) Constructs a new coordinate operation with the same values than the specified
defining conversion, together with the specified source and target CRS. | public | AbstractCoordinateOperation(Map properties, CoordinateReferenceSystem sourceCRS, CoordinateReferenceSystem targetCRS, MathTransform transform) Constructs a coordinate operation from a set of properties.
The properties given in argument follow the same rules than for the
.
Additionally, the following properties are understood by this construtor:
Parameters: properties - Set of properties. |
Method Summary | |
static void | append(Formatter formatter, IdentifiedObject object, String type) Append the identifier for the specified object name (possibly
null ) to the specified
formatter. | public boolean | equals(AbstractIdentifiedObject object, boolean compareMetadata) Compares this coordinate operation with the specified object for equality.
If
compareMetadata is
true , then all available properties are
compared including
and
.
Parameters: object - The object to compare to this . Parameters: compareMetadata - true for performing a strict comparaison, or false for comparing only properties relevant to transformations. | protected String | formatWKT(Formatter formatter) Format this operation as a pseudo-WKT format. | public double | getAccuracy() Convenience method returning the accuracy in meters. | public static double | getAccuracy(CoordinateOperation operation) Convenience method returning the accuracy in meters for the specified operation. | public Collection | getCoordinateOperationAccuracy() Estimate(s) of the impact of this operation on point accuracy. | public Extent | getDomainOfValidity() Area or region or timeframe in which this coordinate operation is valid. | public MathTransform | getMathTransform() Gets the math transform. | public String | getOperationVersion() Version of the coordinate transformation (i.e., instantiation due to the stochastic
nature of the parameters). | public Collection | getPositionalAccuracy() Estimate(s) of the impact of this operation on point accuracy. | public InternationalString | getScope() Description of domain of usage, or limitations of usage, for which this operation is valid. | public CoordinateReferenceSystem | getSourceCRS() Returns the source CRS. | public CoordinateReferenceSystem | getTargetCRS() Returns the target CRS. | public static Class | getType(CoordinateOperation object) Returns the most specific GeoAPI interface implemented by the specified operation.
Parameters: object - A coordinate operation. | public Extent | getValidArea() Area in which this operation is valid. | public int | hashCode() Returns a hash code value for this coordinate operation. |
EMPTY_ACCURACY_ARRAY | final public static PositionalAccuracy[] EMPTY_ACCURACY_ARRAY(Code) | | An empty array of positional accuracy. This is usefull for fetching accuracies as an array,
using the following idiom:
.toArray(EMPTY_ACCURACY_ARRAY);
|
domainOfValidity | final protected Extent domainOfValidity(Code) | | Area in which this operation is valid, or
null if not available.
|
operationVersion | final String operationVersion(Code) | | Version of the coordinate transformation
(i.e., instantiation due to the stochastic nature of the parameters).
|
sourceCRS | final protected CoordinateReferenceSystem sourceCRS(Code) | | The source CRS, or
null if not available.
|
targetCRS | final protected CoordinateReferenceSystem targetCRS(Code) | | The target CRS, or
null if not available.
|
transform | final protected MathTransform transform(Code) | | Transform from positions in the
to positions in the
.
|
AbstractCoordinateOperation | AbstractCoordinateOperation(Conversion definition, CoordinateReferenceSystem sourceCRS, CoordinateReferenceSystem targetCRS, MathTransform transform)(Code) | | Constructs a new coordinate operation with the same values than the specified
defining conversion, together with the specified source and target CRS. This
constructor is used by
DefaultConversion only.
|
AbstractCoordinateOperation | public AbstractCoordinateOperation(Map properties, CoordinateReferenceSystem sourceCRS, CoordinateReferenceSystem targetCRS, MathTransform transform)(Code) | | Constructs a coordinate operation from a set of properties.
The properties given in argument follow the same rules than for the
.
Additionally, the following properties are understood by this construtor:
Parameters: properties - Set of properties. Should contains at least "name" . Parameters: sourceCRS - The source CRS. Parameters: targetCRS - The target CRS. Parameters: transform - Transform from positions in the to positions in the . |
append | static void append(Formatter formatter, IdentifiedObject object, String type)(Code) | | Append the identifier for the specified object name (possibly
null ) to the specified
formatter.
Parameters: formatter - The formatter where to append the object name. Parameters: object - The object to append, or null if none. Parameters: type - The label to put in front of the object name. |
equals | public boolean equals(AbstractIdentifiedObject object, boolean compareMetadata)(Code) | | Compares this coordinate operation with the specified object for equality.
If
compareMetadata is
true , then all available properties are
compared including
and
.
Parameters: object - The object to compare to this . Parameters: compareMetadata - true for performing a strict comparaison, or false for comparing only properties relevant to transformations. true if both objects are equal. |
formatWKT | protected String formatWKT(Formatter formatter)(Code) | | Format this operation as a pseudo-WKT format. No WKT format were defined for coordinate
operation at the time this method was written. This method may change in any future version
until a standard format is found.
Parameters: formatter - The formatter to use. The WKT element name. |
getAccuracy | public double getAccuracy()(Code) | | Convenience method returning the accuracy in meters. The default implementation delegates
to
(this) . Subclasses
should override this method if they can provide a more accurate algorithm.
since: 2.2 |
getAccuracy | public static double getAccuracy(CoordinateOperation operation)(Code) | | Convenience method returning the accuracy in meters for the specified operation. This method
try each of the following procedures and returns the first successful one:
- If a
positional accuracy is found with a
linear unit, then this accuracy estimate is converted to
and returned.
- Otherwise, if the operation is a
, then returns
0 since a conversion is by definition accurates up to rounding errors.
- Otherwise, if the operation is a
, then
checks if the datum shift were applied with the help of Bursa-Wolf parameters.
This procedure looks for Geotools-specific
PositionalAccuracyImpl.DATUM_SHIFT_APPLIED DATUM_SHIFT_APPLIED and
PositionalAccuracyImpl.DATUM_SHIFT_OMITTED 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.
- Otherwise, if the operation is a
,
returns the sum of the accuracy of all components.
Parameters: operation - The operation to inspect for accuracy. The accuracy estimate (always in meters), or NaN if unknow. since: 2.2 |
getCoordinateOperationAccuracy | public Collection getCoordinateOperationAccuracy()(Code) | | 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.
The position error estimates, or an empty collection if not available. See Also: AbstractCoordinateOperation.getAccuracy() since: 2.4 |
getDomainOfValidity | public Extent getDomainOfValidity()(Code) | | Area or region or timeframe in which this coordinate operation is valid.
Returns
null if not available.
since: 2.4 |
getMathTransform | public MathTransform getMathTransform()(Code) | | Gets the math transform. The math transform will transform positions in the
into positions
in the
.
|
getOperationVersion | public String getOperationVersion()(Code) | | 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.
The coordinate operation version, or null in none. |
getScope | public InternationalString getScope()(Code) | | Description of domain of usage, or limitations of usage, for which this operation is valid.
|
getSourceCRS | public CoordinateReferenceSystem getSourceCRS()(Code) | | Returns the source CRS.
|
getTargetCRS | public CoordinateReferenceSystem getTargetCRS()(Code) | | Returns the target CRS.
|
getType | public static Class getType(CoordinateOperation object)(Code) | | Returns the most specific GeoAPI interface implemented by the specified operation.
Parameters: object - A coordinate operation. The most specific GeoAPI interface(e.g. .class ). |
hashCode | public int hashCode()(Code) | | Returns a hash code value for this coordinate operation.
|
Methods inherited from org.geotools.referencing.AbstractIdentifiedObject | protected static Set asSet(Object[] array)(Code)(Java Doc) protected static void ensureAngularUnit(Unit unit) throws IllegalArgumentException(Code)(Java Doc) protected static void ensureLinearUnit(Unit unit) throws IllegalArgumentException(Code)(Java Doc) protected static void ensureNonNull(String name, Object object) throws IllegalArgumentException(Code)(Java Doc) protected static void ensureNonNull(String name, Object[] array, int index) throws IllegalArgumentException(Code)(Java Doc) protected static void ensureTimeUnit(Unit unit) throws IllegalArgumentException(Code)(Java Doc) final public boolean equals(Object object)(Code)(Java Doc) public boolean equals(AbstractIdentifiedObject object, boolean compareMetadata)(Code)(Java Doc) protected static boolean equals(IdentifiedObject object1, IdentifiedObject object2, boolean compareMetadata)(Code)(Java Doc) protected static boolean equals(IdentifiedObject[] array1, IdentifiedObject[] array2, boolean compareMetadata)(Code)(Java Doc) protected static boolean equals(Collection collection1, Collection collection2, boolean compareMetadata)(Code)(Java Doc) public Collection getAlias()(Code)(Java Doc) public ReferenceIdentifier getIdentifier(Citation authority)(Code)(Java Doc) public static ReferenceIdentifier getIdentifier(IdentifiedObject info, Citation authority)(Code)(Java Doc) public Set getIdentifiers()(Code)(Java Doc) public ReferenceIdentifier getName()(Code)(Java Doc) public String getName(Citation authority)(Code)(Java Doc) public static String getName(IdentifiedObject info, Citation authority)(Code)(Java Doc) public static Map getProperties(IdentifiedObject info)(Code)(Java Doc) public static Map getProperties(IdentifiedObject info, Citation authority)(Code)(Java Doc) public InternationalString getRemarks()(Code)(Java Doc) public int hashCode()(Code)(Java Doc) public boolean nameMatches(String name)(Code)(Java Doc) public static boolean nameMatches(IdentifiedObject object, String name)(Code)(Java Doc) public static boolean nameMatches(IdentifiedObject o1, IdentifiedObject o2)(Code)(Java Doc)
|
|
|