Package org.apache.sis.referencing.datum
Class TimeDependentBWP
- Object
-
- FormattableObject
-
- BursaWolfParameters
-
- TimeDependentBWP
-
- All Implemented Interfaces:
Serializable
,Cloneable
public class TimeDependentBWP extends BursaWolfParameters
Parameters for a time-dependent geographic transformation between two datum. ThetX
,tY
,tZ
,rX
,rY
,rZ
anddS
parameters inherited from the parent class are values at a point in time given bygetTimeReference()
. Those values vary at a rate given by the parameters listed in the table below (codes, names and abbreviations are from the EPSG database):Parameters defined by EPSG Code Name Abbr. 1040 Rate of change of X-axis translation dtX
1041 Rate of change of Y-axis translation dtY
1042 Rate of change of Z-axis translation dtZ
1043 Rate of change of X-axis rotation drX
1044 Rate of change of Y-axis rotation drY
1045 Rate of change of Z-axis rotation drZ
1046 Rate of change of scale difference ddS
TimeDependentBWP
class uses the EPSG abbreviations with 4 additional constraints compared to the EPSG definitions:- Unit of
ddS
is fixed to parts per million per year. - Unit of
dtX
,dtY
anddtZ
is fixed to millimetres per year. - Unit of
drX
,drY
anddrZ
is fixed to milli arc-seconds per year. - Sign of rotation terms is fixed to the Position Vector convention (EPSG operation method 1053). This is the opposite sign than the Coordinate Frame Rotation (EPSG operation method 1056. The Position Vector convention is used by IAG and recommended by ISO 19111.
- Since:
- 0.4
- See Also:
- Serialized Form
Defined in the
sis-referencing
module
-
-
Field Summary
Fields Modifier and Type Field Description double
ddS
Rate of change of the scale difference in parts per million per year (EPSG:1046).double
drX
Rate of change of X-axis rotation in milli arc-seconds per year (EPSG:1043), sign following the Position Vector convention.double
drY
Rate of change of Y-axis rotation in milli arc-seconds per year (EPSG:1044), sign following the Position Vector convention.double
drZ
Rate of change of Z-axis rotation in milli arc-seconds per year (EPSG:1045), sign following the Position Vector convention.double
dtX
Rate of change of X-axis translation in millimetres per year (EPSG:1040).double
dtY
Rate of change of Y-axis translation in millimetres per year (EPSG:1041).double
dtZ
Rate of change of Z-axis translation in millimetres per year (EPSG:1042).
-
Constructor Summary
Constructors Constructor Description TimeDependentBWP(GeodeticDatum targetDatum, Extent domainOfValidity, Date timeReference)
Creates a new instance for the given target datum, domain of validity and time reference.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object object)
Compares the specified object with this object for equality.Date
getTimeReference()
Returns the reference epoch for time-dependent parameters.double[]
getValues()
Returns the parameter values.int
hashCode()
Returns a hash value for this object.boolean
isIdentity()
Returnstrue
if a transformation built from this set of parameters would perform no operation.boolean
isTranslation()
Returnstrue
if a transformation built from this set of parameters would perform only a translation.void
reverseRotation()
Inverts in-place the sign of rotation terms and their derivative.void
setValues(double... elements)
Sets the parameters to the given values.-
Methods inherited from class BursaWolfParameters
clone, formatTo, getDomainOfValidity, getPositionVectorTransformation, getTargetDatum, invert, setPositionVectorTransformation
-
Methods inherited from class FormattableObject
print, toString, toString, toWKT
-
-
-
-
Field Detail
-
dtX
public double dtX
Rate of change of X-axis translation in millimetres per year (EPSG:1040).
-
dtY
public double dtY
Rate of change of Y-axis translation in millimetres per year (EPSG:1041).
-
dtZ
public double dtZ
Rate of change of Z-axis translation in millimetres per year (EPSG:1042).
-
drX
public double drX
Rate of change of X-axis rotation in milli arc-seconds per year (EPSG:1043), sign following the Position Vector convention.
-
drY
public double drY
Rate of change of Y-axis rotation in milli arc-seconds per year (EPSG:1044), sign following the Position Vector convention.
-
drZ
public double drZ
Rate of change of Z-axis rotation in milli arc-seconds per year (EPSG:1045), sign following the Position Vector convention.
-
ddS
public double ddS
Rate of change of the scale difference in parts per million per year (EPSG:1046).
-
-
Constructor Detail
-
TimeDependentBWP
public TimeDependentBWP(GeodeticDatum targetDatum, Extent domainOfValidity, Date timeReference)
Creates a new instance for the given target datum, domain of validity and time reference. All numerical parameters are initialized to 0, which correspond to an identity transform. Callers can assign numerical values to the public fields of interest after construction.- Parameters:
targetDatum
- the target datum (usually WGS 84) for this set of parameters.domainOfValidity
- area or region in which a coordinate transformation based on those Bursa-Wolf parameters is valid, ornull
is unspecified.timeReference
- the reference epoch for time-dependent parameters.
-
-
Method Detail
-
getTimeReference
public Date getTimeReference()
Returns the reference epoch for time-dependent parameters.- Returns:
- the reference epoch for time-dependent parameters.
-
getValues
public double[] getValues()
Returns the parameter values. The first 14 elements are alwaystX
,tY
,tZ
,rX
,rY
,rZ
,dS
,dtX
,dtY
,dtZ
,drX
,drY
,drZ
andddS
in that order.- Overrides:
getValues
in classBursaWolfParameters
- Returns:
- the parameter values as an array of length 14.
- Since:
- 0.6
-
setValues
public void setValues(double... elements)
Sets the parameters to the given values. The given array can have any length. The first array elements will be assigned to thetX
,tY
,tZ
,rX
,rY
,rZ
,dS
,dtX
,dtY
,dtZ
,drX
,drY
,drZ
andddS
fields in that order.- Overrides:
setValues
in classBursaWolfParameters
- Parameters:
elements
- the new parameter values, as an array of any length.- Since:
- 0.6
-
isIdentity
public boolean isIdentity()
Returnstrue
if a transformation built from this set of parameters would perform no operation. This is true when the value of all parameters is zero.- Overrides:
isIdentity
in classBursaWolfParameters
- Returns:
true
if the parameters describe no operation.
-
isTranslation
public boolean isTranslation()
Returnstrue
if a transformation built from this set of parameters would perform only a translation.- Overrides:
isTranslation
in classBursaWolfParameters
- Returns:
true
if the parameters describe a translation only.
-
reverseRotation
public void reverseRotation()
Inverts in-place the sign of rotation terms and their derivative. This method can be invoked for converting a Coordinate Frame Rotation transformation (EPSG operation method 9607) to a Position Vector transformation (EPSG operation method 9606). The later convention is used by IAG and recommended by ISO 19111.- Overrides:
reverseRotation
in classBursaWolfParameters
-
equals
public boolean equals(Object object)
Compares the specified object with this object for equality.- Overrides:
equals
in classBursaWolfParameters
- Parameters:
object
- the object to compare with the parameters.- Returns:
true
if the given object is equal to thisTimeDependentBWP
.
-
hashCode
public int hashCode()
Returns a hash value for this object.- Overrides:
hashCode
in classBursaWolfParameters
- Returns:
- the hash code value. This value does not need to be the same in past or future versions of this class.
-
-