public class DistanceFunction extends GeometryFunction
It represents the DISTANCE function of the ADQL language.
This function computes the arc length along a great circle between two points, and returns a numeric value expression in degrees.
Example:
DISTANCE(POINT('ICRS GEOCENTER', 25.0, -19.5), POINT('ICRS GEOCENTER', 25.4, -20.0))
In this example the function computes the distance between two points of coordinates (25, -19.5) and (25.4, -20) both expressed according to the ICRS
coordinate system with GEOCENTER reference position.
GeometryFunction.GeometryValue<F extends GeometryFunction>
ADQLFunction.ParameterIterator
coordSys
Constructor and Description |
---|
DistanceFunction(DistanceFunction toCopy)
Builds a DISTANCE function by copying the given one.
|
DistanceFunction(GeometryFunction.GeometryValue<PointFunction> point1,
GeometryFunction.GeometryValue<PointFunction> point2)
Builds a DISTANCE function.
|
Modifier and Type | Method and Description |
---|---|
ADQLObject |
getCopy()
Gets a (deep) copy of this ADQL object.
|
java.lang.String |
getName()
Gets the name of this object in ADQL.
|
int |
getNbParameters()
Gets the number of parameters this function has.
|
GeometryFunction.GeometryValue<PointFunction> |
getP1()
Gets the first point.
|
GeometryFunction.GeometryValue<PointFunction> |
getP2()
Gets the second point.
|
ADQLOperand |
getParameter(int index)
Gets the index-th parameter.
|
ADQLOperand[] |
getParameters()
Gets the list of all parameters of this function.
|
boolean |
isGeometry()
Tell whether this operand is a geometrical region or not.
|
boolean |
isNumeric()
Tell whether this operand is numeric or not.
|
boolean |
isString()
Tell whether this operand is a string or not.
|
void |
setCoordinateSystem(ADQLOperand coordSys)
Changes the coordinate system.
|
void |
setP1(GeometryFunction.GeometryValue<PointFunction> p1)
Sets the first point.
|
void |
setP2(GeometryFunction.GeometryValue<PointFunction> p2)
Sets the second point.
|
ADQLOperand |
setParameter(int index,
ADQLOperand replacer)
Replaces the index-th parameter by the given one.
|
getCoordinateSystem
adqlIterator, getPosition, paramIterator, setPosition, toADQL
public DistanceFunction(GeometryFunction.GeometryValue<PointFunction> point1, GeometryFunction.GeometryValue<PointFunction> point2) throws java.lang.NullPointerException
point1
- The first point.point2
- The second point.java.lang.NullPointerException
- If one of the parameters are incorrect.public DistanceFunction(DistanceFunction toCopy) throws java.lang.Exception
toCopy
- The DISTANCE function to copy.java.lang.Exception
- If there is an error during the copy.public void setCoordinateSystem(ADQLOperand coordSys) throws java.lang.UnsupportedOperationException
GeometryFunction
setCoordinateSystem
in class GeometryFunction
coordSys
- Its new coordinate system.java.lang.UnsupportedOperationException
- If this function is not associated with a coordinate system.public ADQLObject getCopy() throws java.lang.Exception
ADQLObject
java.lang.Exception
- If there is any error during the copy.public java.lang.String getName()
ADQLObject
public boolean isNumeric()
ADQLOperand
public boolean isString()
ADQLOperand
public boolean isGeometry()
ADQLOperand
public final GeometryFunction.GeometryValue<PointFunction> getP1()
public final void setP1(GeometryFunction.GeometryValue<PointFunction> p1)
p1
- A point.public final GeometryFunction.GeometryValue<PointFunction> getP2()
public final void setP2(GeometryFunction.GeometryValue<PointFunction> p2)
p2
- A point.public ADQLOperand[] getParameters()
ADQLFunction
getParameters
in class ADQLFunction
public int getNbParameters()
ADQLFunction
getNbParameters
in class ADQLFunction
public ADQLOperand getParameter(int index) throws java.lang.ArrayIndexOutOfBoundsException
ADQLFunction
getParameter
in class ADQLFunction
index
- Parameter number.java.lang.ArrayIndexOutOfBoundsException
- If the index is incorrect (index < 0 || index >= getNbParameters()).public ADQLOperand setParameter(int index, ADQLOperand replacer) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.NullPointerException, java.lang.Exception
ADQLFunction
setParameter
in class ADQLFunction
index
- Index of the parameter to replace.replacer
- The replacer.java.lang.ArrayIndexOutOfBoundsException
- If the index is incorrect (index < 0 || index >= getNbParameters()).java.lang.NullPointerException
- If a required parameter must be replaced by a NULL object.java.lang.Exception
- If another error occurs.