Class InverseOperationMethod
java.lang.Object
org.apache.sis.io.wkt.FormattableObject
org.apache.sis.referencing.AbstractIdentifiedObject
org.apache.sis.referencing.operation.DefaultOperationMethod
org.apache.sis.referencing.operation.InverseOperationMethod
- All Implemented Interfaces:
Serializable
,Formattable
,Deprecable
,LenientComparable
,org.opengis.referencing.IdentifiedObject
,org.opengis.referencing.operation.OperationMethod
Description of the inverse of another method. This class should be used only when no operation is defined
for the inverse, or when the inverse operation cannot be represented by inverting the sign of parameters.
- Since:
- 0.7
- Version:
- 1.1
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.opengis.referencing.operation.OperationMethod
The original operation method for which thisInverseOperationMethod
is the inverse.private static final long
For cross-version compatibility.Fields inherited from class org.apache.sis.referencing.AbstractIdentifiedObject
DEPRECATED_KEY, LOCALE_KEY
Fields inherited from interface org.opengis.referencing.IdentifiedObject
ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY
Fields inherited from interface org.opengis.referencing.operation.OperationMethod
FORMULA_KEY
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
InverseOperationMethod
(Map<String, ?> properties, org.opengis.referencing.operation.OperationMethod method) Creates the inverse of the given method. -
Method Summary
Modifier and TypeMethodDescription(package private) static org.opengis.referencing.operation.OperationMethod
create
(org.opengis.referencing.operation.OperationMethod method, DefaultCoordinateOperationFactory factorySIS) Returns or create the inverse of the given operation method.(package private) static void
properties
(org.opengis.referencing.operation.SingleOperation source, Map<String, Object> target) Infers the properties to give to an inverse coordinate operation.Methods inherited from class org.apache.sis.referencing.operation.DefaultOperationMethod
castOrCopy, computeHashCode, equals, formatTo, getFormula, getInterface, getOperationType, getParameters, getSourceDimensions, getTargetDimensions, redimension, redimension, updateDescriptors
Methods inherited from class org.apache.sis.referencing.AbstractIdentifiedObject
castOrCopy, equals, formatTo, getAlias, getDescription, getIdentifiers, getName, getRemarks, hashCode, isDeprecated, isHeuristicMatchForName
Methods inherited from class org.apache.sis.io.wkt.FormattableObject
print, toString, toString, toWKT
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.opengis.referencing.IdentifiedObject
getAlias, getIdentifiers, getName, getRemarks, toWKT
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDFor cross-version compatibility.- See Also:
-
inverse
private final org.opengis.referencing.operation.OperationMethod inverseThe original operation method for which thisInverseOperationMethod
is the inverse.
-
-
Constructor Details
-
Method Details
-
create
static org.opengis.referencing.operation.OperationMethod create(org.opengis.referencing.operation.OperationMethod method, DefaultCoordinateOperationFactory factorySIS) throws org.opengis.util.FactoryException Returns or create the inverse of the given operation method. If the same operation method can be used for the inverse operation either with the exact same parameter values or with the sign of some values reversed, then the given method is returned as-is. Otherwise a synthetic method is created.- Throws:
org.opengis.util.FactoryException
-
properties
static void properties(org.opengis.referencing.operation.SingleOperation source, Map<String, Object> target) Infers the properties to give to an inverse coordinate operation. The returned map will contain three kind of information:- Metadata (domain of validity, accuracy)
- Parameter values, if possible
Note: in many cases, the inverse operation is numerically less accurate than the direct operation because it uses approximations like series expansions or iterative methods. However, the numerical errors caused by those approximations are not of interest here, because they are usually much smaller than the inaccuracy due to the stochastic nature of coordinate transformations (not to be confused with coordinate conversions; see ISO 19111 for more information).If the inverse of the given operation can be represented by inverting the sign of all numerical parameter values, then this method copies also those parameters in a"parameters"
entry.- Parameters:
source
- the operation for which to get the inverse parameters.target
- where to store the inverse parameters.
-