IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 37754 for trunk


Ignore:
Timestamp:
Dec 17, 2014, 1:24:02 PM (12 years ago)
Author:
heather
Message:

final on diff batches - they work, all columns I can fill are properly filled

Location:
trunk/ippToPsps/jython
Files:
3 edited

Legend:

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

    r37551 r37754  
    382382        self.logger.infoPair("Min objID", "%ld" % self.minObjID)
    383383        self.logger.infoPair("Max objID", "%ld" % self.maxObjID)
     384
     385
     386    '''                                                                                           
     387    Sets min and max obj ID using the provided table, or list of tables                           
     388    '''
     389    def setMinMaxDiffObjID(self, tables):
     390        first = True
     391        self.totalDetections = 0
     392        for table in tables:
     393            sql = "SELECT MIN(diffObjID), MAX(diffObjID), COUNT(diffObjID) FROM " + table
     394            rs = self.scratchDb.executeQuery(sql)
     395            rs.first()
     396            self.totalDetections = self.totalDetections + rs.getLong(3)
     397            if first:
     398                self.minObjID = rs.getLong(1)
     399                self.maxObjID = rs.getLong(2)
     400            else:
     401                if rs.getLong(1) < self.minObjID: self.minObjID = rs.getLong(1)
     402                if rs.getLong(2) > self.maxObjID: self.maxObjID = rs.getLong(2)
     403            first = False
     404            rs.close()
     405        self.ippToPspsDb.updateDetectionStats(self.batchID, self.minObjID, self.maxObjID, self.totalDetections)
     406        self.logger.infoPair("Total detections", "%ld" % self.totalDetections)
     407        self.logger.infoPair("Min objID", "%ld" % self.minObjID)
     408        self.logger.infoPair("Max objID", "%ld" % self.maxObjID)
     409
     410
    384411
    385412    '''
  • trunk/ippToPsps/jython/diffbatch.py

    r37753 r37754  
    310310        sqlLine.group("a.dvoRegionID",             "b.catID")
    311311        sqlLine.group("a.ra", "b.ra")
    312         sqlLine.group("a.dec_", "b.dec_")
     312        sqlLine.group("a.dec", "b.dec_")
    313313        sqlLine.group("a.raErr", "b.raErr")
    314314        sqlLine.group("a.decErr", "b.decErr")
     
    326326            raise
    327327        self.logger.infoPair("need to cull"," nulls objid")
     328        results= self.scratchDb.reportAndDeleteRowsWithNULLS("DiffDetection", "diffObjID")
    328329        self.logger.infoPair("adding","uniquePSPSDFid")
    329         updatePspsUniqueIDs("DiffDetection")
     330        self.updatePspsUniqueIDs("DiffDetection")
    330331
    331332    '''
     
    349350            #self.scratchDb.execute(sql)
    350351
    351         self.tablesToExport.append("DiffToImage")
     352        #self.tablesToExport.append("DiffToImage")
    352353
    353354
     
    424425    def updatePspsUniqueIDs(self,table):
    425426        sql = "UPDATE "+table+" join (select @r:=@r+1 rownum, diffobjID from \
    426         (select @r:=0) r, "+table+" t) as foo using (objID) set \
     427        (select @r:=0) r, "+table+" t) as foo using (diffobjID) set \
    427428        uniquePspsDFid = ((" +str(self.batchID)+ "*1000000000 ) + rownum)"
    428429        try: self.scratchDb.execute(sql)
     
    456457
    457458       
    458         self.setMinMaxObjID("DiffDetection")
    459 
    460         # update FrameMeta with count OTAs in this file and total number of photometric reference sources
    461         sql = "UPDATE FrameMeta SET nOTA = %d, numPhotoRef = %d" % (otaCount, self.totalNumPhotoRef)
    462         self.scratchDb.execute(sql)
    463         #to make it stop
     459        self.setMinMaxDiffObjID(["DiffDetection"])
     460
     461
    464462        #test = self.scratchDb.getRowCount("Object")
    465463        #return False
     
    467465        return True
    468466
    469     def removeDuplicateObjects(self):
    470 
    471         sql = "DROP TABLE SkinnyObject_All"
    472         try:
    473             self.scratchDb.execute(sql)
    474         except:
    475             print "SkinnyObject_All table not yet defined"
    476 
    477         sql = "CREATE TABLE SkinnyObject_All (objID bigint, ippObjID bigint, chipID char(16))"
    478         try:
    479             self.scratchDb.execute(sql)
    480         except:
    481             print "failed to create table SkinnyObject_All"
    482             raise
    483 
    484         for chipname in self.validChips:
    485            
    486             sql = "INSERT INTO SkinnyObject_All (objID, ippObjID, chipID) \
    487                    SELECT objID, ippObjID, '" + chipname + "' from SkinnyObject_" + chipname
    488             try:
    489                 self.scratchDb.execute(sql)
    490             except:
    491                 print "failed to insert entry SkinnyObject_All: ", chipname
    492                 raise
    493            
    494 
    495         Nduplicates = 0
    496         sql = "SELECT n, objID from (select count(objID) as n, objID from SkinnyObject_All group by objID) as tmp where n > 1"
    497         try:
    498             rs = self.scratchDb.executeQuery(sql)
    499             while (rs.next()):
    500                 objID = rs.getInt(1)
    501                 chipID = rs.getString(3)
    502                 print "delete: ", str(objID), chipID
    503                 Nduplicates += 1
    504 
    505             rs.close()
    506         except:
    507             print "failed to get duplicates"
    508             raise
    509 
    510         print "duplicates found: ", str(Nduplicates)
    511 
    512     '''
    513     Updates imageID {EXP_ID}{OTA} in the provided table
    514     '''
    515     def updateImageID(self, tableName, x, y):
    516 
    517         sql = "UPDATE " + tableName + " SET imageID = %d%d%d" % (self.expID, x, y)
    518         self.scratchDb.execute(sql)
    519 
    520     '''
    521     Overriding this method
    522     '''
    523     def reportNullsInAllPspsTables(self, showPartials):
    524 
    525         # loops round all imported tables, but we want to check one OTA's worth
    526         for table in self.pspsTables:
    527             if table.name == "FrameMeta": self.scratchDb.reportNulls(table.name, showPartials)
    528             else: self.scratchDb.reportNulls(table.name + "_XY33", showPartials)
    529467
    530468    '''
  • trunk/ippToPsps/jython/gpc1db.py

    r37753 r37754  
    293293            meta.append(rs.getString(6))
    294294            meta.append(rs.getString(7))
    295 
     295            meta.append(rs.getString(8))
    296296        except:
    297297            self.logger.errorPair("getDiffStageMeta()", "empty meta data")
Note: See TracChangeset for help on using the changeset viewer.