Class ConeSelector

java.lang.Object
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 Details

    • 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 Details

    • 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