Class STCS.Region
- java.lang.Object
-
- adql.db.STCS.Region
-
- Enclosing class:
- STCS
public static class STCS.Region extends java.lang.ObjectObject representation of an STC region.
This class contains a field for each possible parameter of a region. Depending of the region type some are not used. In such case, these unused fields are set to NULL.
An instance of this class can be easily serialized into STC-S using
toSTCS(),toFullSTCS()ortoString().toFullSTCS()will display default value explicit on the contrary totoSTCS()which will replace them by empty strings.- Since:
- 1.3
- Version:
- 1.3 (10/2014)
- Author:
- Grégory Mantelet (ARI)
-
-
Field Summary
Fields Modifier and Type Field Description double[][]coordinatesList of coordinates' pairs.STCS.CoordSyscoordSysCoordinate system used by this region.doubleheightHeight of the BOX region.doubleradiusRadius of the CIRCLE region.STCS.Region[]regionsList of regions unified (UNION), intersected (INTERSECTION) or avoided (NOT).STCS.RegionTypetypeType of the region.doublewidthWidth of the BOX region.
-
Constructor Summary
Constructors Constructor Description Region(STCS.CoordSys coordSys, double[] coordinates)Constructor for a POINT/POSITION region.Region(STCS.CoordSys coordSys, double[][] coordinates)Constructor for a POINT/POSITION or a POLYGON region.Region(STCS.CoordSys coordSys, double[] coordinates, double radius)Constructor for a CIRCLE region.Region(STCS.CoordSys coordSys, double[] coordinates, double width, double height)Constructor for a BOX region.Region(STCS.Region region)Constructor for a NOT region.Region(STCS.RegionType unionOrIntersection, STCS.CoordSys coordSys, STCS.Region[] regions)Constructor for a UNION or INTERSECTION region.Region(GeometryFunction geometry)Build a Region from the given ADQL representation.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringtoFullSTCS()Get the STC-S representation of this region (in which default values of the coordinate system are explicitly written).GeometryFunctiontoGeometry()Convert this region into its corresponding ADQL representation.GeometryFunctiontoGeometry(ADQLQueryFactory factory)Convert this region into its corresponding ADQL representation.java.lang.StringtoSTCS()Get the STC-S representation of this region (in which default values of the coordinate system are not written ; they are replaced by empty strings).java.lang.StringtoString()
-
-
-
Field Detail
-
type
public final STCS.RegionType type
Type of the region.
-
coordSys
public final STCS.CoordSys coordSys
Coordinate system used by this region. Note: only the NOT region does not declare a coordinate system ; so only for this region this field is NULL.
-
coordinates
public final double[][] coordinates
List of coordinates' pairs. The second dimension of this array represents a pair of coordinates ; it is then an array of two elements. Note: this field is used by POINT, BOX, CIRCLE and POLYGON.
-
width
public final double width
Width of the BOX region.
-
height
public final double height
Height of the BOX region.
-
radius
public final double radius
Radius of the CIRCLE region.
-
regions
public final STCS.Region[] regions
List of regions unified (UNION), intersected (INTERSECTION) or avoided (NOT).
-
-
Constructor Detail
-
Region
public Region(STCS.CoordSys coordSys, double[] coordinates)
Constructor for a POINT/POSITION region.
Important note: The array of coordinates is used like that. No copy is done.
- Parameters:
coordSys- Coordinate system. note: It MAY BE null ; if so, the default coordinate system will be chosen
coordinates- A pair of coordinates ; coordinates[0] and coordinates[1].
-
-
Region
public Region(STCS.CoordSys coordSys, double[][] coordinates)
Constructor for a POINT/POSITION or a POLYGON region.
Whether it is a polygon or a point depends on the number of given coordinates:
- 1 item => POINT/POSITION
- more items => POLYGON
Important note: The array of coordinates is used like that. No copy is done.
- Parameters:
coordSys- Coordinate system. note: It MAY BE null ; if so, the default coordinate system will be chosen
coordinates- List of coordinates' pairs ; coordinates[n] = 1 pair = 2 items (coordinates[n][0] and coordinates[n][1]) ; if 1 pair, it is a POINT/POSITION, but if more, it is a POLYGON.
-
-
Region
public Region(STCS.CoordSys coordSys, double[] coordinates, double radius)
Constructor for a CIRCLE region.
Important note: The array of coordinates is used like that. No copy is done.
- Parameters:
coordSys- Coordinate system. note: It MAY BE null ; if so, the default coordinate system will be chosen
coordinates- A pair of coordinates ; coordinates[0] and coordinates[1].radius- The circle radius.
-
Region
public Region(STCS.CoordSys coordSys, double[] coordinates, double width, double height)
Constructor for a BOX region.
Important note: The array of coordinates is used like that. No copy is done.
- Parameters:
coordSys- Coordinate system. note: It MAY BE null ; if so, the default coordinate system will be chosen
coordinates- A pair of coordinates ; coordinates[0] and coordinates[1].width- Width of the box.height- Height of the box.
-
Region
public Region(STCS.RegionType unionOrIntersection, STCS.CoordSys coordSys, STCS.Region[] regions)
Constructor for a UNION or INTERSECTION region.
Important note: The array of regions is used like that. No copy is done.
- Parameters:
unionOrIntersection- Type of the region to create. Note: It can be ONLY a UNION or INTERSECTION. Another value will throw an IllegalArgumentException).coordSys- Coordinate system. note: It MAY BE null ; if so, the default coordinate system will be chosen
regions- Regions to unite or to intersect. Note: At least two regions must be provided.
-
Region
public Region(STCS.Region region)
Constructor for a NOT region.- Parameters:
region- Any region to not select.
-
Region
public Region(GeometryFunction geometry) throws java.lang.IllegalArgumentException, ParseException
Build a Region from the given ADQL representation.
Note: Only
PointFunction,CircleFunction,BoxFunction,PolygonFunctionandRegionFunctionare accepted here. Other extensions ofGeometryFunctionwill throw anIllegalArgumentException.- Parameters:
geometry- The ADQL representation of the region to create here.- Throws:
java.lang.IllegalArgumentException- If the given geometry is neither ofPointFunction,BoxFunction,PolygonFunctionandRegionFunction.ParseException- If the declared coordinate system, the coordinates or the STC-S definition has a wrong syntax.
-
Method Detail
-
toSTCS
public java.lang.String toSTCS()
Get the STC-S representation of this region (in which default values of the coordinate system are not written ; they are replaced by empty strings).
Note: This function build the STC-S just once and store it in a class attribute. The value of this attribute is then returned at next calls of this function.
- Returns:
- Its STC-S representation.
-
toFullSTCS
public java.lang.String toFullSTCS()
Get the STC-S representation of this region (in which default values of the coordinate system are explicitly written).
Note: This function build the STC-S just once and store it in a class attribute. The value of this attribute is then returned at next calls of this function.
- Returns:
- Its STC-S representation.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
toGeometry
public GeometryFunction toGeometry()
Convert this region into its corresponding ADQL representation.
- POSITION:
PointFunction - CIRCLE:
CircleFunction - BOX:
BoxFunction - POLYGON:
PolygonFunction - UNION, INTERSECTION, NOT:
RegionFunction
Note: This function is using the default ADQL factory, built using
ADQLQueryFactory().- Returns:
- The corresponding ADQL representation.
- See Also:
toGeometry(ADQLQueryFactory)
- POSITION:
-
toGeometry
public GeometryFunction toGeometry(ADQLQueryFactory factory)
Convert this region into its corresponding ADQL representation.
- POSITION:
PointFunction - CIRCLE:
CircleFunction - BOX:
BoxFunction - POLYGON:
PolygonFunction - UNION, INTERSECTION, NOT:
RegionFunction
Note: This function build the ADQL representation just once and store it in a class attribute. The value of this attribute is then returned at next calls of this function.
- Parameters:
factory- The factory of ADQL objects to use.- Returns:
- The corresponding ADQL representation.
- POSITION:
-