def landsat_overpass_time(lndst_path_row, start_date, satellite):
delta = timedelta(days=20)
end = start_date + delta
if satellite == 'LT5':
if start_date > datetime(2013, 6, 1):
raise InvalidDateForSatelliteError('The date requested is after L5 deactivation')
reference_time = get_l5_overpass_data(lndst_path_row[0], lndst_path_row[1], start_date)
return reference_time
else:
if satellite == 'LE7':
sat_abv = 'L7'
elif satellite == 'LC8':
sat_abv = 'L8'
base = 'https://landsat.usgs.gov/landsat/all_in_one_pending_acquisition/'
for day in rrule(DAILY, dtstart=start_date, until=end):
tail = '{}/Pend_Acq/y{}/{}/{}.txt'.format(sat_abv, day.year,
day.strftime('%b'),
day.strftime('%b-%d-%Y'))
url = '{}{}'.format(base, tail)
r = requests.get(url).text
for line in r.splitlines():
l = line.split()
try:
if l[0] == str(lndst_path_row[0]):
if l[1] == str(lndst_path_row[1]):
# dtime is in GMT
time_str = '{}-{}'.format(day.year, l[2])
ref_time = datetime.strptime(time_str, '%Y-%j-%H:%M:%S')
return ref_time
except IndexError:
pass
except TypeError:
pass
raise OverpassNotFoundError('Did not find overpass data, check your dates...')
评论列表
文章目录