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.OperationMethodThe original operation method for which thisInverseOperationMethodis the inverse.private static final longFor cross-version compatibility.Fields inherited from class org.apache.sis.referencing.AbstractIdentifiedObject
DEPRECATED_KEY, LOCALE_KEYFields inherited from interface org.opengis.referencing.IdentifiedObject
ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEYFields inherited from interface org.opengis.referencing.operation.OperationMethod
FORMULA_KEY -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateInverseOperationMethod(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.OperationMethodcreate(org.opengis.referencing.operation.OperationMethod method, DefaultCoordinateOperationFactory factorySIS) Returns or create the inverse of the given operation method.(package private) static voidproperties(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, updateDescriptorsMethods inherited from class org.apache.sis.referencing.AbstractIdentifiedObject
castOrCopy, equals, formatTo, getAlias, getDescription, getIdentifiers, getName, getRemarks, hashCode, isDeprecated, isHeuristicMatchForNameMethods inherited from class org.apache.sis.io.wkt.FormattableObject
print, toString, toString, toWKTMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods 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 thisInverseOperationMethodis 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.
-