Class VerticalOffset
java.lang.Object
org.apache.sis.io.wkt.FormattableObject
org.apache.sis.referencing.AbstractIdentifiedObject
org.apache.sis.referencing.operation.DefaultOperationMethod
org.apache.sis.internal.referencing.provider.AbstractProvider
org.apache.sis.internal.referencing.provider.VerticalOffset
- All Implemented Interfaces:
Serializable,Formattable,MathTransformProvider,Deprecable,LenientComparable,org.opengis.referencing.IdentifiedObject,org.opengis.referencing.operation.OperationMethod
The provider for "Vertical Offset" (EPSG:9616).
The Apache SIS implementation of this operation method always perform the vertical offset in metres.
The vertical axis of source and target CRS shall be converted to metres before this operation is applied.
Axis direction
The EPSG guidance note defines this operation as (ignoring unit conversions):
X₂ = m⋅X₁ + offsetwhere m is +1 if source and target axes have the same direction, or -1 if they have opposite direction. Consequently, the offset value is always applied in the direction of the target axis. This is different than the Apache SIS design, which always interpret the parameter in the direction of a normalized coordinate axis (up in this case, regardless the source and target coordinate systems). Consequently, the sign of the "Vertical Offset" parameter value needs to be reversed if the target coordinate system axis is down.
- Since:
- 0.7
- Version:
- 1.3
- Author:
- Martin Desruisseaux (Geomatys)
- See Also:
-
Field Summary
Fields inherited from class org.apache.sis.internal.referencing.provider.AbstractProvider
sourceCSType, sourceOnEllipsoid, targetCSType, targetOnEllipsoidFields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.opengis.referencing.operation.MathTransformcreateMathTransform(org.opengis.referencing.operation.MathTransformFactory factory, org.opengis.parameter.ParameterValueGroup values) Creates a transform from the specified group of parameter values.inverse()The inverse ofGeodeticOperationis usually the same operation with parameter signs inverted.static org.opengis.referencing.operation.MathTransformpostCreate(org.opengis.referencing.operation.MathTransform parameterized, org.opengis.referencing.operation.Matrix after) Invoked byDefaultMathTransformFactoryafter the transform has been created but before it is concatenated with operations performing axis changes.final org.opengis.referencing.operation.OperationMethodredimension(int sourceDimensions, int targetDimensions) Deprecated.ISO 19111:2019 removed source/target dimensions attributes.Methods inherited from class org.apache.sis.internal.referencing.provider.AbstractProvider
getOperationType, resolveAmbiguityMethods inherited from class org.apache.sis.referencing.operation.DefaultOperationMethod
castOrCopy, computeHashCode, equals, formatTo, getFormula, getInterface, getParameters, getSourceDimensions, getTargetDimensions, redimensionMethods 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
-
Constructor Details
-
VerticalOffset
public VerticalOffset()Constructs a provider with default parameters.
-
-
Method Details
-
createMathTransform
public org.opengis.referencing.operation.MathTransform createMathTransform(org.opengis.referencing.operation.MathTransformFactory factory, org.opengis.parameter.ParameterValueGroup values) throws org.opengis.parameter.ParameterNotFoundException Creates a transform from the specified group of parameter values. The parameter value is unconditionally converted to metres.- Parameters:
factory- ignored (can be null).values- the group of parameter values.- Returns:
- the created math transform.
- Throws:
org.opengis.parameter.ParameterNotFoundException- if a required parameter was not found.
-
postCreate
public static org.opengis.referencing.operation.MathTransform postCreate(org.opengis.referencing.operation.MathTransform parameterized, org.opengis.referencing.operation.Matrix after) throws org.opengis.util.FactoryException Invoked byDefaultMathTransformFactoryafter the transform has been created but before it is concatenated with operations performing axis changes. This method performs the parameter sign adjustment as documented in the class javadoc if and only if this method detects that the target axis is oriented toward down. This orientation is detected by a negative sign for the m₀₀ coefficient in the given 2×2 affine transform matrix.Implementation note: for now we define this method as a static one because it is the only special case handled byDefaultMathTransformFactory. But if there is more special cases in a future SIS version, then we should make this method non-static and declare an overrideablepostCreatemethod inAbstractProviderinstead.- Parameters:
parameterized- the transform created bycreateMathTransform(…).after- the matrix for the operation to be concatenated afterparameterized.- Returns:
- the transform to use instead of
parameterized. - Throws:
org.opengis.util.FactoryException- if an error occurred while creating the new transform.
-
redimension
@Deprecated public final org.opengis.referencing.operation.OperationMethod redimension(int sourceDimensions, int targetDimensions) Deprecated.ISO 19111:2019 removed source/target dimensions attributes.Returns the elements of the given array at an index computed from the given dimensions.- Overrides:
redimensionin classDefaultOperationMethod- Parameters:
sourceDimensions- the desired number of input dimensions.targetDimensions- the desired number of output dimensions.- Returns:
- the redimensioned operation method, or
nullif none.
-
inverse
The inverse ofGeodeticOperationis usually the same operation with parameter signs inverted.- Overrides:
inversein classAbstractProvider- Returns:
thisfor mostGeodeticOperationinstances.- See Also:
-