IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 34173 for trunk/ippToPsps


Ignore:
Timestamp:
Jul 17, 2012, 4:30:56 PM (14 years ago)
Author:
heather
Message:

fixes for OB: if outside of ra/dec range, drop it...

Location:
trunk/ippToPsps/jython
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippToPsps/jython/objectbatch.py

    r34104 r34173  
    167167        cpsTableName = self.scratchDb.getDbFriendlyTableName(self.region + ".cps")
    168168
    169         self.logger.infoPair("Populating", "ObjectCalColor")
     169        self.logger.infoPair("Populating", "Object")
    170170        self.logger.infoPair("Inserting objects from", "cpt file")
    171171
     
    203203            self.logger.errorPair("Couldn't populate Object table", sql)
    204204            return False
    205 
     205 
    206206        # add row count columns so we can perform joins to get colors
    207207        self.logger.infoPair("Adding 'row' columns to", "Object and cps tables")
     
    213213        self.updateColors()
    214214
     215        #objects can have out of range ra dec in dvo - need to find and kill them at the end
     216
     217        self.logger.infoPair("Determining", "ra/dec range")
     218
     219        raMin = self.scratchDb.getFromdvoSkyTable("R_MIN",self.region)
     220        raMax = self.scratchDb.getFromdvoSkyTable("R_MAX",self.region)
     221        decMin = self.scratchDb.getFromdvoSkyTable("D_MIN",self.region)
     222        decMax = self.scratchDb.getFromdvoSkyTable("D_MAX",self.region)
     223
     224        self.logger.infoPair("R_MIN", raMin)
     225        self.logger.infoPair("R_MAX", raMax)
     226        self.logger.infoPair("D_MIN", decMin)
     227        self.logger.infoPair("D_MAX", decMax)
     228        #count out of range
     229
     230        sql = "SELECT count(*) FROM Object where Object.dec > " + str(decMax) + " or Object.dec < " + str(decMin) + " or Object.ra > " + str(raMax) + " or Object.ra < " + str(raMin)       
     231   
     232        rs = self.scratchDb.executeQuery(sql)
     233        rs.first()
     234        nToDelete = rs.getInt(1)
     235       
     236        #delete out of range
     237       
     238 
     239        sql = "DELETE FROM Object where Object.dec > " + str(decMax) + " or Object.dec < " + str(decMin) + " or Object.ra > " + str(raMax) + " or Object.ra < " + str(raMin)
     240        self.logger.infoPair("Deleting", str(nToDelete) + " objects outside of ra/dec range")
     241
     242        try:
     243            self.scratchDb.execute(sql)
     244        except:
     245            self.logger.errorPair("Couldn't cull outsiders from Object table", sql)
     246            return False
     247
    215248        self.logger.infoPair("Dropping row column from", "Object table")
    216249        self.scratchDb.dropColumn("Object", "row")
    217250        self.logger.infoPair("Purging from scratch Db", self.region + " region")
     251
    218252        self.dvoObjects.purgeRegion(self.region)
    219253
  • trunk/ippToPsps/jython/scratchdb.py

    r34108 r34173  
    591591        return orderedFilters
    592592
     593
     594    def getRaDecRangesFromdvoSkyTable(self, name):
     595     
     596        sql = "SELECT R_MIN, R_MAX, D_MIN, D_MAX FROM dvoSkyTable WHERE NAME = '" + name + "' limit 1"
     597        try:
     598            rs = self.executeQuery(sql)
     599            rs.first()
     600            raMin = rs.getFloat(1)
     601            raMax = rs.getFloat(2)
     602            decMin = rs.getFloat(3)
     603            decMax = rs.getFloat(4)
     604           
     605        except:
     606            self.logger.errorPair("no ra/decs found for", name)
     607            raMin = -999
     608            raMax = -999
     609            decMin = -999
     610            decMax = -999
     611
     612        return raMin, raMax, decMin, decMax
     613 
     614    def getFromdvoSkyTable(self, column, name):
     615     
     616        sql = "SELECT "+column + " FROM dvoSkyTable WHERE NAME = '" + name + "' limit 1"
     617        try:
     618            rs = self.executeQuery(sql)
     619            rs.first()
     620            res = rs.getDouble(1)
     621                       
     622        except:
     623            self.logger.errorPair("no ra/decs found for", name)
     624            res = -999
     625           
     626
     627        return res
Note: See TracChangeset for help on using the changeset viewer.