Class DistanceFunction
java.lang.Object
adql.query.operand.function.ADQLFunction
adql.query.operand.function.geometry.GeometryFunction
adql.query.operand.function.geometry.DistanceFunction
- All Implemented Interfaces:
ADQLObject,ADQLOperand
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.
- Version:
- 1.4 (06/2015)
- Author:
- Grégory Mantelet (CDS;ARI)
-
Nested Class Summary
Nested classes/interfaces inherited from class adql.query.operand.function.geometry.GeometryFunction
GeometryFunction.GeometryValue<F extends GeometryFunction>Nested classes/interfaces inherited from class adql.query.operand.function.ADQLFunction
ADQLFunction.ParameterIterator -
Field Summary
Fields inherited from class adql.query.operand.function.geometry.GeometryFunction
coordSys -
Constructor Summary
ConstructorsConstructorDescriptionDistanceFunction(DistanceFunction toCopy) Builds a DISTANCE function by copying the given one.DistanceFunction(GeometryFunction.GeometryValue<PointFunction> point1, GeometryFunction.GeometryValue<PointFunction> point2) Builds a DISTANCE function. -
Method Summary
Modifier and TypeMethodDescriptiongetCopy()Gets a (deep) copy of this ADQL object.getName()Gets the name of this object in ADQL.intGets the number of parameters this function has.getP1()Gets the first point.getP2()Gets the second point.getParameter(int index) Gets the index-th parameter.Gets the list of all parameters of this function.booleanTell whether this operand is a geometrical region or not.booleanTell whether this operand is numeric or not.booleanisString()Tell whether this operand is a string or not.voidsetCoordinateSystem(ADQLOperand coordSys) Changes the coordinate system.final voidSets the first point.final voidSets the second point.setParameter(int index, ADQLOperand replacer) Replaces the index-th parameter by the given one.Methods inherited from class adql.query.operand.function.geometry.GeometryFunction
getCoordinateSystemMethods inherited from class adql.query.operand.function.ADQLFunction
adqlIterator, getPosition, paramIterator, setPosition, toADQL
-
Constructor Details
-
DistanceFunction
public DistanceFunction(GeometryFunction.GeometryValue<PointFunction> point1, GeometryFunction.GeometryValue<PointFunction> point2) throws NullPointerException Builds a DISTANCE function.- Parameters:
point1- The first point.point2- The second point.- Throws:
NullPointerException- If one of the parameters are incorrect.
-
DistanceFunction
Builds a DISTANCE function by copying the given one.- Parameters:
toCopy- The DISTANCE function to copy.- Throws:
Exception- If there is an error during the copy.
-
-
Method Details
-
setCoordinateSystem
Description copied from class:GeometryFunctionChanges the coordinate system.- Overrides:
setCoordinateSystemin classGeometryFunction- Parameters:
coordSys- Its new coordinate system.- Throws:
UnsupportedOperationException- If this function is not associated with a coordinate system.
-
getCopy
Description copied from interface:ADQLObjectGets a (deep) copy of this ADQL object.- Returns:
- The copy of this ADQL object.
- Throws:
Exception- If there is any error during the copy.
-
getName
Description copied from interface:ADQLObjectGets the name of this object in ADQL.- Returns:
- The name of this ADQL object.
-
isNumeric
public boolean isNumeric()Description copied from interface:ADQLOperandTell whether this operand is numeric or not.- Returns:
- true if this operand is numeric, false otherwise.
-
isString
public boolean isString()Description copied from interface:ADQLOperandTell whether this operand is a string or not.- Returns:
- true if this operand is a string, false otherwise.
-
isGeometry
public boolean isGeometry()Description copied from interface:ADQLOperandTell whether this operand is a geometrical region or not.- Returns:
- true if this operand is a geometry, false otherwise.
-
getP1
Gets the first point.- Returns:
- A point.
-
setP1
Sets the first point.- Parameters:
p1- A point.
-
getP2
Gets the second point.- Returns:
- A point.
-
setP2
Sets the second point.- Parameters:
p2- A point.
-
getParameters
Description copied from class:ADQLFunctionGets the list of all parameters of this function.- Specified by:
getParametersin classADQLFunction- Returns:
- Its parameters list.
-
getNbParameters
public int getNbParameters()Description copied from class:ADQLFunctionGets the number of parameters this function has.- Specified by:
getNbParametersin classADQLFunction- Returns:
- Number of parameters.
-
getParameter
Description copied from class:ADQLFunctionGets the index-th parameter.- Specified by:
getParameterin classADQLFunction- Parameters:
index- Parameter number.- Returns:
- The corresponding parameter.
- Throws:
ArrayIndexOutOfBoundsException- If the index is incorrect (index < 0 || index >= getNbParameters()).
-
setParameter
public ADQLOperand setParameter(int index, ADQLOperand replacer) throws ArrayIndexOutOfBoundsException, NullPointerException, Exception Description copied from class:ADQLFunctionReplaces the index-th parameter by the given one.- Specified by:
setParameterin classADQLFunction- Parameters:
index- Index of the parameter to replace.replacer- The replacer.- Returns:
- The replaced parameter.
- Throws:
ArrayIndexOutOfBoundsException- If the index is incorrect (index < 0 || index >= getNbParameters()).NullPointerException- If a required parameter must be replaced by a NULL object.Exception- If another error occurs.
-