Class GeocentricAffineBetweenGeographic
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.GeodeticOperation
org.apache.sis.internal.referencing.provider.GeocentricAffine
org.apache.sis.internal.referencing.provider.GeocentricAffineBetweenGeographic
- All Implemented Interfaces:
Serializable
,Formattable
,MathTransformProvider
,Deprecable
,LenientComparable
,org.opengis.referencing.IdentifiedObject
,org.opengis.referencing.operation.OperationMethod
- Direct Known Subclasses:
AbridgedMolodensky
,CoordinateFrameRotation2D
,CoordinateFrameRotation3D
,GeocentricTranslation2D
,GeocentricTranslation3D
,Molodensky
,PositionVector7Param2D
,PositionVector7Param3D
The base class of operation methods performing an affine operation in geocentric coordinates
concatenated with conversion from/to geographic coordinates. This base class is also used for
operation methods performing approximation of above, even if they do not really pass
through geocentric coordinates.
Default values to verify
This class assumes the following default values. Subclasses should verify if those default values are suitable from them:AbstractProvider.getOperationType()
defaults toTransformation
.AbstractProvider.sourceCSType
andAbstractProvider.targetCSType
default toEllipsoidalCS
.
- Since:
- 0.7
- Version:
- 1.3
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.sis.internal.referencing.provider.GeocentricAffine
GeocentricAffine.Type
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final org.opengis.parameter.ParameterDescriptor
<Integer> The operation parameter descriptor for the number of source and target geographic dimensions (2 or 3).private static final long
Serial number for inter-operability with different versions.static final org.opengis.parameter.ParameterDescriptor
<Double> The operation parameter descriptor for the"src_semi_major"
optional parameter value.static final org.opengis.parameter.ParameterDescriptor
<Double> The operation parameter descriptor for the"src_semi_minor"
optional parameter value.static final org.opengis.parameter.ParameterDescriptor
<Double> The operation parameter descriptor for the"src_semi_major"
optional parameter value.static final org.opengis.parameter.ParameterDescriptor
<Double> The operation parameter descriptor for the"src_semi_minor"
optional parameter value.Fields inherited from class org.apache.sis.internal.referencing.provider.GeocentricAffine
DS, RX, RY, RZ, TX, TY, TZ
Fields inherited from class org.apache.sis.internal.referencing.provider.GeodeticOperation
redimensioned
Fields inherited from class org.apache.sis.internal.referencing.provider.AbstractProvider
sourceCSType, sourceOnEllipsoid, targetCSType, targetOnEllipsoid
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
ConstructorsConstructorDescriptionGeocentricAffineBetweenGeographic
(GeocentricAffine.Type operationType, org.opengis.parameter.ParameterDescriptorGroup parameters, int sourceDimensions, int targetDimensions, GeodeticOperation[] redimensioned) Constructs a provider with the specified parameters. -
Method Summary
Modifier and TypeMethodDescriptionorg.opengis.referencing.operation.MathTransform
createMathTransform
(org.opengis.referencing.operation.MathTransformFactory factory, org.opengis.parameter.ParameterValueGroup values) Creates a math transform from the specified group of parameter values.Methods inherited from class org.apache.sis.internal.referencing.provider.GeocentricAffine
asDatumShift, createParameters
Methods inherited from class org.apache.sis.internal.referencing.provider.GeodeticOperation
inverse, redimension, variant3D
Methods inherited from class org.apache.sis.internal.referencing.provider.AbstractProvider
addIdentifierAndLegacy, addNameAndLegacy, builder, createLatitude, createLongitude, createMandatoryLatitude, createScale, createShift, createZeroConstant, getOperationType, recoverableException, resolveAmbiguity
Methods inherited from class org.apache.sis.referencing.operation.DefaultOperationMethod
castOrCopy, computeHashCode, equals, formatTo, getFormula, getInterface, getParameters, getSourceDimensions, getTargetDimensions, redimension
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 serialVersionUIDSerial number for inter-operability with different versions.- See Also:
-
DIMENSION
The operation parameter descriptor for the number of source and target geographic dimensions (2 or 3). This is an OGC-specific parameter for theMolodensky
andAbridgedMolodensky
operations, but Apache SIS uses it also for internal parameters of Geographic/Geocentric.We do not provide default value for this parameter (neither we do for other OGC-specific parameters in this class) because this parameter is used with both two- and three-dimensional operation methods. If we want to provide a default value, we could but it would complicate a little bit the code since we could no longer reuse the same
PARAMETERS
constant for operation methods of any number of dimensions. TODO: this paragraph will not apply anymore afterGeodeticOperation.redimensioned
is removed.- See Also:
-
SRC_SEMI_MAJOR
The operation parameter descriptor for the"src_semi_major"
optional parameter value. Valid values range from 0 to infinity. Units are metres.Parameter names OGC: src_semi_major - Value domain: (0.0 … ∞) m
- No default value
-
SRC_SEMI_MINOR
The operation parameter descriptor for the"src_semi_minor"
optional parameter value. Valid values range from 0 to infinity. Units are metres.Parameter names OGC: src_semi_minor - Value domain: (0.0 … ∞) m
- No default value
-
TGT_SEMI_MAJOR
The operation parameter descriptor for the"src_semi_major"
optional parameter value. Valid values range from 0 to infinity. Units are metres.Parameter names OGC: tgt_semi_major - Value domain: (0.0 … ∞) m
- No default value
-
TGT_SEMI_MINOR
The operation parameter descriptor for the"src_semi_minor"
optional parameter value. Valid values range from 0 to infinity. Units are metres.Parameter names OGC: tgt_semi_minor - Value domain: (0.0 … ∞) m
- No default value
-
-
Constructor Details
-
GeocentricAffineBetweenGeographic
GeocentricAffineBetweenGeographic(GeocentricAffine.Type operationType, org.opengis.parameter.ParameterDescriptorGroup parameters, int sourceDimensions, int targetDimensions, GeodeticOperation[] redimensioned) Constructs a provider with the specified parameters.- Parameters:
parameters
- description of parameters expected by this operation.sourceDimensions
- number of dimensions in the source CRS of this operation method.targetDimensions
- number of dimensions in the target CRS of this operation method.redimensioned
- providers for all combinations between 2D and 3D cases, ornull
.type
- the operation type as an enumeration value.
-
-
Method Details
-
createMathTransform
public org.opengis.referencing.operation.MathTransform createMathTransform(org.opengis.referencing.operation.MathTransformFactory factory, org.opengis.parameter.ParameterValueGroup values) throws org.opengis.util.FactoryException Creates a math transform from the specified group of parameter values. This method wraps the affine operation into Geographic/Geocentric conversions.- Specified by:
createMathTransform
in interfaceMathTransformProvider
- Overrides:
createMathTransform
in classGeocentricAffine
- Parameters:
factory
- the factory to use for creating concatenated transforms.values
- the group of parameter values.- Returns:
- the created math transform.
- Throws:
org.opengis.util.FactoryException
- if a transform cannot be created.
-