uk.ac.starlink.ttools.cone
Class ConeSelector

java.lang.Object
  extended by uk.ac.starlink.ttools.cone.ConeSelector

public abstract class ConeSelector
extends Object

Abstract class for an object which can make a JDBC SELECT query corresponding to cone searches.

Since:
9 Jan 2007
Author:
Mark Taylor

Constructor Summary
protected ConeSelector(Connection connection, String tableName, String raCol, String decCol, AngleUnits units, String cols, String where)
          Constructor.
 
Method Summary
static ConeSelector createSelector(Connection connection, String tableName, String raCol, String decCol, AngleUnits units, String cols, String where, boolean usePrepared)
          Returns a new selector object which just queries on RA and Dec values.
static ConeSelector createTiledSelector(Connection connection, String tableName, String raCol, String decCol, AngleUnits units, String cols, String where, String tileCol, SkyTiling tiling, boolean usePrepared)
          Returns a new selector object which queries using RA, Dec and a spatial tiling value.
abstract  ResultSet executeQuery(double ra, double dec, double sr)
          Returns an SQL ResultSet containing the records corresponding to a cone search with the given parameters.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConeSelector

protected ConeSelector(Connection connection,
                       String tableName,
                       String raCol,
                       String decCol,
                       AngleUnits units,
                       String cols,
                       String where)
                throws SQLException
Constructor.

Parameters:
connection - live connection to database
tableName - name of a table in the database to search
raCol - name of table column containing right ascension
decCol - name of table column containing declination
units - angular units used by ra and dec columns
cols - list of column names for the SELECT statement
where - additional WHERE clause constraints
Throws:
SQLException
Method Detail

executeQuery

public abstract ResultSet executeQuery(double ra,
                                       double dec,
                                       double sr)
                                throws SQLException
Returns an SQL ResultSet containing the records corresponding to a cone search with the given parameters. This may return a superset of the records in the given cone - it is essential to use SQL which is simple (that is portable and hopefully optimisable).

Parameters:
ra - right ascension of cone centre in degrees
dec - declination of cone centre in degrees
sr - search radius of cone in degrees
Returns:
ResultSet containing records in cone (and possible some more)
Throws:
SQLException

createSelector

public static ConeSelector createSelector(Connection connection,
                                          String tableName,
                                          String raCol,
                                          String decCol,
                                          AngleUnits units,
                                          String cols,
                                          String where,
                                          boolean usePrepared)
                                   throws SQLException
Returns a new selector object which just queries on RA and Dec values. You can choose an implementation which uses PreparedStatements or not - there may be (big) performance implications.

Parameters:
connection - live connection to database
tableName - name of a table in the database to search
raCol - name of table column containing right ascension
decCol - name of table column containing declination
units - angular units used by ra and dec columns
cols - list of column names for the SELECT statement
where - additional WHERE clause constraints
usePrepared - true to use JDBC PreparedStatements, false for normal Statements
Throws:
SQLException

createTiledSelector

public static ConeSelector createTiledSelector(Connection connection,
                                               String tableName,
                                               String raCol,
                                               String decCol,
                                               AngleUnits units,
                                               String cols,
                                               String where,
                                               String tileCol,
                                               SkyTiling tiling,
                                               boolean usePrepared)
                                        throws SQLException
Returns a new selector object which queries using RA, Dec and a spatial tiling value. You can choose an implementation which uses PreparedStatements or not - there may be (big) performance implications.

Parameters:
connection - live connection to database
tableName - name of a table in the database to search
raCol - name of table column containing right ascension
decCol - name of table column containing declination
units - angular units used by ra and dec columns
cols - list of column names for the SELECT statement
where - additional WHERE clause constraints
tileCol - column containing a sky tiling index value
tiling - tiling scheme used by tileCol column
usePrepared - true to use JDBC PreparedStatements, false for normal Statements
Throws:
SQLException


Copyright © 2015 Central Laboratory of the Research Councils. All Rights Reserved.