哨兵数据下载网址:https://scihub.copernicus.eu/
1、Sentinel-1精轨数据:
https://qc.sentinel1.eo.esa.int/
2021年4月更新:目前欧空局哨兵数据轨道文件存储库正在维护,可以在https://s1qc.asf.alaska.edu/aux_poeorb/网站下载S1数据的轨道文件。
精轨数据命名规则:
S1A_OPER_AUX_POEORB_OPOD_20150325T123058_V20150303T225944_20150305T005944.EOF
the first date and time showing the time the file was produced,the second date and time telling the start of the time period covered by the file,and the third date and time telling the end of the period.
2、The SENTINEL-1 Toolbox 、Sentinel-1 Data、Open Source Development
https://sentinel.esa.int/web/sentinel/toolboxes/sentinel-1%20
3、Calibration Auxiliary Data [AUX_CAL]
https://qc.sentinel1.eo.esa.int/aux_cal/?instrument_configuration_id=3
4、POD Precise Orbit Ephemerides [AUX_POEORB]
https://qc.sentinel1.eo.esa.int/aux_poeorb/
参见ISCE example/master_TOPS_SENTINEL1.xml
##批量下载Sentinel-1A精轨数据:
V1.0 by Xiaowen Wang
ESSC @ The Chinese University of Hong Kong
文件名:sentinel_poe_download.py
#!/usr/bin/python3
############################################################
# V1.0 by Xiaowen Wang
# ESSC @ The Chinese University of Hong Kong
# Aug-08, 2016
############################################################
#"""
#Python script for downloading the Sentinel-1 orbit data
#
# Please make sure the python3 has been isntalled in the OS, if not:
# sudo apt-get install python3
# #############################################################
# 1) Change the variable "work_path" at Line 29 to your own work_path, the work path
# should have the folder "RAW" where the unzipped S1A data are putted
# 2) run this script: python3 sentinel_poe_download.py
#"""
###############################################################
import datetime
import urllib.request
import ssl
import re
import os
##############################################################################
# work_path and variables setting
work_path="/home/lu/Sentinel-1A_Data"
#work_path="/media/root/G/test"
POE_path=work_path+"/POE"
RAW_path=work_path+"/RAW"
os.environ['POE_path']=str(POE_path);
os.environ['RAW_path']=str(RAW_path);
# Judge whether the POE folder is existing
if os.path.exists(POE_path):
print('Already having the POE foloder')
else:
os.popen('mkdir $POE_path')
# List the raw list data
im_list=os.popen('ls $RAW_path | grep ^S1.*SAFE$').read().split()
######################
for im_var in im_list:
print("Download the POE orbit file for the list Sentinel-1 image:\n", im_var)
###############################Read the image acquire time
Sensor=im_var[0:3];
Sence_time=im_var[17:25];
Year=int(Sence_time[0:4]);
Month=int(Sence_time[4:6]);
Day=int(Sence_time[6:8]);
Sence_day=datetime.date(Year,Month,Day);
Start_day=format(Sence_day-datetime.timedelta(days=1));
End_day=format(Sence_day+datetime.timedelta(days=1));
##############################Generate the download url
url_ymd=format(Start_day);
url_ym=url_ymd[0:7];
url_pre='https://qc.sentinel1.eo.esa.int/aux_poeorb/?';
url_poe='mission='+Sensor+'&validity_start_time='+str(Year)+'&validity_start_time='+url_ym+'&validity_start_time='+Start_day+'..'+End_day+'&validity_start_time='+url_ymd;
url_download=url_pre+url_poe;
###############################Download the page_info and get the POE name
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
up=urllib.request.urlopen(url_download,context=ctx)
cont=up.read()
#file_object = open('./dl.html', 'w')
#file_object.write(str(cont))
#file_object.close()
###############################Download the POE data
#file_object = open('text.html').read()
pat=re.compile(Sensor+"_OPER.*.EOF");
pat_mat=pat.search(str(cont));
if pat_mat is None:
print("****The precise oribt data for this image is not avaible now****")
continue
else:
mat=pat_mat.group()
POE_name=mat[0:77];
print();print(POE_name);print()
POE_file=POE_path+'/'+POE_name
if os.path.exists(POE_file):
print("****The orbit file has been download already****")
continue
else:
dl_head="https://qc.sentinel1.eo.esa.int/aux_poeorb//"
dl_url=dl_head+POE_name;
data_tmp=urllib.request.urlopen(dl_url,context=ctx)
data_w=data_tmp.read()
with open(POE_file, "wb") as flg:
flg.write(data_w)
##############################################################################
使用说明:修该sentinel_poe_download.py文件中的work_path为自己的工作目录,此处设为/home/lu/Sentinel-1A_Data,在工作目录(/home/lu/Sentinel-1A_Data)下建立RAW文件夹,将Sentinel-1A解压后的文件夹放到RAW目录下,在该工作目录下执行sentinel_poe_download.py,该命令脚步会根据RAW目录下的所有文件夹列表下载对应的精轨数据。