Sentinel-1相关链接

哨兵数据下载网址:https://scihub.copernicus.eu/

1、Sentinel-1精轨数据:
https://qc.sentinel1.eo.esa.int/

精轨数据命名规则:
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

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目录下的所有文件夹列表下载对应的精轨数据。

你可能感兴趣的:(Sentinel-1相关链接)