Class AreaFunction

All Implemented Interfaces:
ADQLObject, ADQLOperand

public class AreaFunction extends GeometryFunction
It represents the AREA function of ADQL.

This function computes the area, in square degrees, of a given geometry.

Example:

An expression to calculate the area of a POLYGON could be written as follows:

AREA(POLYGON(10.0, -10.5, 20.0, 20.5, 30.0, 30.5))

The AREA of a single POINT is zero.

The geometry argument may be a literal value, as above, or it may be a column reference, function or expression that returns a geometric type.

Example:

AREA(t1.footprint)

,where t1.footprint is a reference to a database column that contains geometric (POINT, BOX, CIRCLE, POLYGON or REGION) values.

  • Field Details

    • FEATURE

      public static final LanguageFeature FEATURE
      Description of this ADQL Feature.
      Since:
      2.0
  • Constructor Details

  • Method Details

    • getFeatureDescription

      public final LanguageFeature getFeatureDescription()
      Description copied from interface: ADQLObject
      Get the description of this ADQL's Language Feature.

      Note: Getting this description is generally only useful when discovery optional features so that determining if they are allowed to be used in ADQL queries.

      Returns:
      Description of this ADQL object as an ADQL's feature.
    • getParameter

      public final GeometryFunction.GeometryValue<GeometryFunction> getParameter()
      Gets the parameter of the AREA function (so, a region whose the area must be computed).
      Returns:
      A region.
    • setParameter

      public final void setParameter(GeometryFunction.GeometryValue<GeometryFunction> parameter)
      Sets the parameter of the AREA function (so, a region whose the area must be computed).
      Parameters:
      parameter - A region.
    • getCopy

      public ADQLObject getCopy() throws Exception
      Description copied from interface: ADQLObject
      Gets 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

      public String getName()
      Description copied from interface: ADQLObject
      Gets the name of this object in ADQL.
      Returns:
      The name of this ADQL object.
    • isNumeric

      public boolean isNumeric()
      Description copied from interface: ADQLOperand
      Tell whether this operand is numeric or not.
      Returns:
      true if this operand is numeric, false otherwise.
    • isString

      public boolean isString()
      Description copied from interface: ADQLOperand
      Tell 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: ADQLOperand
      Tell whether this operand is a geometrical region or not.
      Returns:
      true if this operand is a geometry, false otherwise.
    • getParameters

      public ADQLOperand[] getParameters()
      Description copied from class: ADQLFunction
      Gets the list of all parameters of this function.
      Specified by:
      getParameters in class ADQLFunction
      Returns:
      Its parameters list.
    • getNbParameters

      public int getNbParameters()
      Description copied from class: ADQLFunction
      Gets the number of parameters this function has.
      Specified by:
      getNbParameters in class ADQLFunction
      Returns:
      Number of parameters.
    • getParameter

      public ADQLOperand getParameter(int index) throws ArrayIndexOutOfBoundsException
      Description copied from class: ADQLFunction
      Gets the index-th parameter.
      Specified by:
      getParameter in class ADQLFunction
      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: ADQLFunction
      Replaces the index-th parameter by the given one.
      Specified by:
      setParameter in class ADQLFunction
      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.