public class IntersectsFunction extends GeometryFunction
It represents the INTERSECTS function of the ADQL language.
This numeric function determines if two geometry values overlap. This is most commonly used to express a "shape-vs-shape" intersection test.
Example:
INTERSECTS(CIRCLE('ICRS GEOCENTER', 25.4, -20.0, 1), BOX('ICRS GEOCENTER', 20.0, -15.0, 10, 10)) = 1
In this example the function determines whether the circle of one degree radius centered in a position (25.4, -20.0) degrees and defined
according to the ICRS coordinate system with GEOCENTER reference position overlaps with a box of ten degrees centered in a position
(20.0, -15.0) in degrees and defined according to the same coordinate system.
Warning:
GeometryFunction.GeometryValue<F extends GeometryFunction>
ADQLFunction.ParameterIterator
coordSys
Constructor and Description |
---|
IntersectsFunction(GeometryFunction.GeometryValue<GeometryFunction> param1,
GeometryFunction.GeometryValue<GeometryFunction> param2)
Builds an INTERSECTS function.
|
IntersectsFunction(IntersectsFunction toCopy)
Builds an INTERSECTS function by copying the given one.
|
Modifier and Type | Method and Description |
---|---|
ADQLObject |
getCopy()
Gets a (deep) copy of this ADQL object.
|
GeometryFunction.GeometryValue<GeometryFunction> |
getLeftParam() |
java.lang.String |
getName()
Gets the name of this object in ADQL.
|
int |
getNbParameters()
Gets the number of parameters this function has.
|
ADQLOperand |
getParameter(int index)
Gets the index-th parameter.
|
ADQLOperand[] |
getParameters()
Gets the list of all parameters of this function.
|
GeometryFunction.GeometryValue<GeometryFunction> |
getRightParam() |
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 |
setLeftParam(GeometryFunction.GeometryValue<GeometryFunction> leftParam) |
ADQLOperand |
setParameter(int index,
ADQLOperand replacer)
Replaces the index-th parameter by the given one.
|
void |
setRightParam(GeometryFunction.GeometryValue<GeometryFunction> rightParam) |
getCoordinateSystem, setCoordinateSystem
adqlIterator, getPosition, paramIterator, setPosition, toADQL
public IntersectsFunction(GeometryFunction.GeometryValue<GeometryFunction> param1, GeometryFunction.GeometryValue<GeometryFunction> param2) throws java.lang.NullPointerException
param1
- The first geometry.param2
- The second geometry.java.lang.NullPointerException
- If there is an error with at least one of the parameters.public IntersectsFunction(IntersectsFunction toCopy) throws java.lang.Exception
toCopy
- The INTERSECTS function to copy.java.lang.Exception
- If there is an error during the copy.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<GeometryFunction> getLeftParam()
public final void setLeftParam(GeometryFunction.GeometryValue<GeometryFunction> leftParam)
leftParam
- The leftParam to set.public final GeometryFunction.GeometryValue<GeometryFunction> getRightParam()
public final void setRightParam(GeometryFunction.GeometryValue<GeometryFunction> rightParam)
rightParam
- The rightParam to set.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.