def _populateDelftOrbits(self):
        """Populate an orbit object with the Delft orbits"""
        from isceobj.Orbit.ODR import ODR, Arclist
        self.logger.info("Using Delft Orbits")
        arclist = Arclist(os.path.join(self._orbitDir, 'arclist'))
        arclist.parse()
        orbitFile = arclist.getOrbitFile(self.frame.getSensingStart())
        self.logger.info('Using ODR file: ' + orbitFile)

        odr = ODR(file=os.path.join(self._orbitDir, orbitFile))
        # It seem that for this tipe of orbit points are separated by 60 sec. In ODR at
        # least 9 state vectors are needed to compute the velocities. add extra time before
        # and after to allow interpolation, but do not do it for all data points. too slow
        startTimePreInterp = self.frame.getSensingStart() - datetime.timedelta(
            minutes=60)
        stopTimePreInterp = self.frame.getSensingStop() + datetime.timedelta(
            minutes=60)
        odr.parseHeader(startTimePreInterp, stopTimePreInterp)
        startTime = self.frame.getSensingStart() - datetime.timedelta(
            minutes=5)
        stopTime = self.frame.getSensingStop() + datetime.timedelta(minutes=5)
        self.logger.debug("Extracting orbits between %s and %s" %
                          (startTime, stopTime))
        orbit = odr.trimOrbit(startTime, stopTime)
        self.frame.setOrbit(orbit)
        print("Debug populate Delft Orbits Done")
        print(startTime, stopTime)
Exemple #2
0
 def _populatePRCOrbits(self):
     """Populate an orbit object the D-PAF PRC orbits"""
     from isceobj.Orbit.PRC import PRC, Arclist
     self.logger.info("Using PRC Orbits")
     arclist = Arclist(os.path.join(self._orbitDir,'arclist'))
     arclist.parse()
     orbitFile = arclist.getOrbitFile(self.frame.getSensingStart())
     self.logger.debug("Using file %s" % (orbitFile))
     prc = PRC(file=os.path.join(self._orbitDir,orbitFile))
     prc.parse()
     startTime = self.frame.getSensingStart() - datetime.timedelta(minutes=5)
     stopTime = self.frame.getSensingStop() + datetime.timedelta(minutes=5)
     self.logger.debug("Extracting orbits between %s and %s" % (startTime,stopTime))
     fullOrbit = prc.getOrbit()
     orbit = fullOrbit.trimOrbit(startTime,stopTime)
     self.frame.setOrbit(orbit)
    def _populateDelftOrbits(self):
        """Populate an orbit object with the Delft orbits"""
        from isceobj.Orbit.ODR import ODR, Arclist
        self.logger.info("Using Delft Orbits")
        arclist = Arclist(os.path.join(self._orbitDir,'arclist'))
        arclist.parse()
        orbitFile = arclist.getOrbitFile(self.frame.getSensingStart())
        odr = ODR(file=os.path.join(self._orbitDir,orbitFile))


        startTimePreInterp = self.frame.getSensingStart() - datetime.timedelta(minutes=60)
        stopTimePreInterp = self.frame.getSensingStop() + datetime.timedelta(minutes=60)
        odr.parseHeader(startTimePreInterp,stopTimePreInterp)
        startTime = self.frame.getSensingStart() - datetime.timedelta(minutes=5)
        stopTime = self.frame.getSensingStop() + datetime.timedelta(minutes=5)
        self.logger.debug("Extracting orbits between %s and %s" % (startTime,stopTime))
        orbit = odr.trimOrbit(startTime,stopTime)
        self.frame.setOrbit(orbit)