English  |  所长信箱  |  电子所务  |  ARP  |  邮箱登陆  |  中国科学院  |  联系我们  
 首 页  所况介绍 人才队伍 科技动态 院地合作 国际交流 研究生教育 科学传播 党群园地 信息公开 数据服务
当前位置:首页 > 滚动信息 > 数据信息
全球卫星数据快速采集软件——空天数源ADB(AerospaceDataBox)
时间:2019-10-18

  简介

  高效能的常用遥感数据收集下载软件

  1)同时抓取多个数据源(USGS, ESA, GOOGLE)

  2)界面操作简单傻瓜

  3)采用多线程、分布式,下载速度快


  目前,陆地卫星数据和哨兵卫星数据无疑是全世界应用最广泛的两种光学卫星数据,这两种卫星数据成像质量稳定可靠,且数据均可以在互联网免费公开获取,因此,深受广大科研工作者和产业应用从业者的欢迎。

  而这两种卫星数据的获取通常是以用户在数据中心网页上进行查询检索下载。这种数据获取方式对于数据量较小的用户可以满足数据使用需要。但当用户需要进行长时间序列获取或者空间大尺度数据获取时,由于要获取的数据景数非常大,使用Http方式在网页上下载就耗时耗力,且Http协议对于大文件传输并不可靠。在下载过程中如果出现中断,就需要重新进行手动干预,重新进行下载。

  Google Earth Engine(GEE)的出现,在一定程度上解决了大批量数据计算需求的问题。GEE比较适合通用算法的长时间序列叠加空间大尺度范围数据计算,但当用户数据处理过程需要依赖一些特定步骤或者算法依赖库的时候,使用GEE就很不方便。

  为了解决目前科学研究人员和企业应用研发人员进行大批量数据获取的需求,我们研发了一套全球范围陆地卫星和哨兵数据的快速获取软件--“空天数源”。“空天数源”软件提供全球范围内Landsat卫星和Sentiel卫星产品数据的快速采集。

  软件当前版本具备以下两类中分辨率数据的采集能力:一是美国地质调查局(USGS)公开发布的Landsat系列卫星,具体包括Landsat1、Landsat2、Landsat3,Landsat4、Landsat5、Landsat7、Landsat8。二是欧洲航天局(ESA)所发布的Sentinel系列卫星,具体有Sentienl-1、Sentienl-2、Sentienl-3。数据采集的空间覆盖全球,时间范围覆盖了卫星的全生命周期。

  软件整体基于云架构设计,用户通过可视化的地图界面进行下载条件设置,创建下载任务。单个账号创建下载任务后,可以使用软件进行分布式多节点协同下载。软件下载迅速便捷,并且提供了对下载数据的MD5校验,保证了所下载数据的完整性和可靠性。

  

1 软件功能介绍

  软件整体分为服务器端程序和客户端下载软件,其中客户端下载软件的主要功能有数据下载任务创建、数据下载任务管理、数据自动下载及验证、数据下载作业监视、已下载数据查询检索等。服务器端程序主要功能是从美国USGS、欧空局、Google等卫星数据中心采集最新的卫星数据Metadata至服务器端数据库,为客户端程序提供元数据的查询检索。同时服务器端也为客户端进行下载服务提供了RESTFul API。

  整个软件的结构图如下图所示:

 

  图 1软件整体结构图

  

1.1 客户端下载软件功能介绍

  “空天数源”数据下载软件客户端是一款绿色的桌面软件,软件使用Java语言开发,可以跨平台运行,在Windows、Linux,Mac下均可以使用。从网站上下载软件后,进行简单配置后就可以使用,配置的信息主要有三项:

  •   数据保存目录:使用软件进行下载数据要保存的根目录。数据保存目录须根据不同的系统环境进行设置。在Windows环境下,保存目录的路径必须有两个“\”,例如:savepath=C:\RootDir\SubDir。Linux和Mac系统下,配置为:savepath=/RootDir/SubDir。

  •   ESA网站用户账号和密码列表。这个账号和密码列表是用来从欧空局网站上下载Sentinel数据时使用。账号和密码可以配置多个,这样在进行数据下载时,就可以同时用多个账号就行并行下载(ESA官方对单个用户的最大下载连接数做了限制,每个用户最多可以同时下载两条数据)。

  •   软件用户账号和密码。这个账号和密码是使用本软件之前,在网站上注册申请,用以标识用户身份。

  下面分别介绍软件的数据下载功任务创建和数据下载等核心功能。

  

1.1.1 下载任务创建

  创建下载任务,共需要填写或者选择以下四类信息:

  •   任务名称。任务名称是为了方便后续进行下载任务的管理时能方便识别。

  •   下载数据的成像时间。成像时间需选择数据成像的起始时间和结束时间。所能选择的最早成像时间和最晚结束时间请参照表格-1软件当前版本可以采集的卫星产品列表。

  •   要下载数据的空间范围。空间范围的设置有以下几种方式:在地图上绘制多边形、选择行政区、上传shp文件、输入四角度、输入地名。需要注意的是,使用上传shp时,对上传的shp文件有以下几项要求:1.上传的shp文件不能自相交;2.必须是经纬度投影;3.只能上传多边形shp,且不能是复杂shp(最多只能二级嵌套)。此外,对于Sentinel数据,如果在卫星条件里设置了Orbit Number条件,同时也设置了空间范围条件,则设置的空间范围失效,以设置的Orbit Number条件为空间选择依据。

  •   设置卫星条件。对于单个的数据下载任务,只能选择一个卫星。选择卫星后,可以设置该卫星的相关具体参数条件。 Landat系列卫星的卫星条件包括卫星名和云量信息。卫星名的选择可以从下面几种组合里来选择:Landsat8、Landsat7、Landsat5、Landsat4,Landsat4-8、landsat1-3。Sentinle-1卫星的参数条件包括Orbit Number、Product Type、Polarisation以及Sensor Mode。Sentinle-2卫星的参数条件包括Orbit Number、Product Type、Polarisation以及云量信息,同时Sentinel-2有一个重要的下载条件选项--数据来源(Google/ESA)。这个数据来源的意思时表示,该下载任务将从Google Storage Cloud或者ESA SCI Hub上进行数据下载。如果数据来源选择Google,则参数条件里的Orbit Number和 Product Type不起作用,因为从Google上对于Sentienl-2卫星不提供这两个过滤条件。。Sentinle-3卫星的参数条件包括Orbit Number、Product Type、Instrument以及Product Level。

  设置好上述四类下载条件信息后,就可以进行下载任务创建。

 

  图 2创建下载任务示例

  任务创建成功后,在系统界面会提示创建的下载任务数据条目数信息。与此同时,后台下载进程则会自动启动,开始下载该任务的数据。

 

  

1.1.2 下载任务管理

  创建好下载任务后,就可以进入到下载任务管理界面浏览已经创建的下载任务列表。下载任务管理界面分为左右两栏,左侧时下载任务的分类。当前版本的任务分为三类:Landsat卫星系列和Sentinel系列,Sentinel系列又根据数据来源的不同分为Google和ESA两类。

 

  图 3下载任务管理分类目录树

 

  图 4下载任务管理-任务列表界面

  右侧为下载任务列表表格。该表格信息包含了以下内容:任务名、任务详情、已下载数据量、数据总量、下载状态、任务添加时间、对该任务的操作。对列表中的每一项任务,用户可以进行下面几种操作:

  • 查看该任务的空间范围。用户可以在任务列表界面里,点击“查看空间范围”来浏览该任务设置的空间查询条件。对于Sentinel-2卫星下载任务,如果设置了Orbit Number条件,则没有该选项。

 

  图 5查看下载任务空间范围

  •   查看该任务的下载列表。点击该按钮后会跳转到该数据下载作业列表界面,显示该任务的下载队列状态。

  •   删除该下载任务。删除操作将会删除该任务信息以及该任务的所有下载数据信息。但对于本地已经下载的数据,并不会删除。

  •   重新下载失败状态产品。该操作将会把所有因为网络连接中断等异常情况而导致的下载失败的数据重新加入到下载队列进行下载。

  •   重新下载全部产品。该操作将会重新下载该任务的全部数据,如果本地已经下载过该数据,则会覆盖已经下载的数据。

  

1.1.3 数据下载作业监视

  数据下载作业监控界面也分为三类Landsat数据下载监控、Sentinel数据下载监控(Google),Sentinle数据下载监控(ESA)。下载作业列表中会显示每条下载作业的下载状态,对于下载失败和下载成功的数据,都可以点击“重新下载按钮”进行再次下载。

 

  图 6数据下载作业监控

  另外,在软件界面的右上角,显示了所有下载任务的下载速度信息。

 

  图 7所有任务总体下载速度

  

2 使用软件进行数据下载的说明

  

2.1 下载保存目录创建规则说明

  在使用软件进行数据下载之前,首先需要配置下载的根目录。这个目录可以是本地系统磁盘目录,例如Windows系统环境下,配置下载的根目录为:d:\rootdir\datadir,下载的根目录也可以配置为系统挂载的有写权限的NAS存储目录,例如:\\10.5.5.12\ rootdir\datadir。在进行数据下载时,软件会在该配置目录下创建一个名称为downloading的临时下载目录,所有下载任务的数据都会首先保存在该目录下。当一条数据下载结束后,会对下载的数据进行MD5校验,查看该数据是否下载完整,验证通过后,会将该数据移动到成功下载目录中(文件夹名称为“downloadsuccess”),同时将临时下载目录中的数据删除。成功下载目录也是由软件自动创建,这个下载成功的目录规则是:配置的根目录\任务名称\卫星名称\downloadsuccess。

  以Windows环境为例,如果配置的根目录是:d:\rootdir\datadir,要下载的任务名称是“BeiJing_Landsat8_2019”,下载的卫星是Landsat8,那么该任务最终成功下载的数据存放目录为:d:\rootdir\datadir\ BeiJing_Landsat8_2019\Landsat8\downloadsuccess。

  在使用软件下载过程中,配置的下载根目录下名称为“downloading”的文件夹下所有数据不能删除,否则会导致下载失败。但成功下载目录“downloadsuccess”下的目录,可以随时进行拷贝删除等操作。在关闭软件的情况下,临时下载目录和成功下载目录则可以任意删除,当软件再次启动后,会根据配置文件自动创建临时下载目录和成功下载目录。

  

2.2 软件启动和停止说明

  启动软件的文件为软件目录中的“start.bat”文件,启动软件后,会首先检查配置文件是否正确,如果尚未进行配置,则会提示用户进行安装目录、用户账号等的配置。在配置完成并再次启动软件后,用户则可以进行下载任务的创建,任务创建完毕后,软件会自动启动后台下载进程进行数据下载。在软件使用过程中,可以随时关闭软件。关闭软件后,后台下载进程也随之停止。当再次启动软件后,下载进程也会自动启动,开始继续下载之前尚未下载完成的数据。

  如果进行了软件配置文件的修改,则需要关闭软件后,重新启动,修改的配置才会生效。

  

2.3 软件多线程下载说明

  对于Landsat数据下载和从Google上下载Sentinel-2数据这两种任务,单个线程下载数据的速度一般在8M/B以上(100M带宽情况下),因此对这两种任务,软件目前只支持单线程下载。

  当创建的任务是从ESA SCI Hub上进行Sentinel-1、Sentinel-2和Sentinel-3数据的下载时,软件启动的线程数是根据在配置文件里配置的ESA网站账号数来确定。例如在配置文件中配置了2个ESA SCI Hub的账号,软件在下载数据时,会启动4个下载线程进行并行下载。

  线程数Thread_Number=ESA账号数*2。这里的下载线程数是配置的用户账号2倍,是由于ESA SCI Hub对于单个账号同时进行数据下载的最大连接数是2。

  

2.4 软件分布式多节点下载说明

  软件支持对单个用户创建的下载任务进行分布式多计算机节点下载,目前对每个用户可以进行软件安装布署的计算机节点数并没有做限制。例如,软件用户名为user1的用户在一台计算机上布署软件创建了下载任务后,又在另外2台计算机上也布署了本软件。则user1将会有3个计算机节点协同下载自己的下载任务。这三个计算节点的配置文件里,软件的用户账号需保持一致,但存储目录可以根据该计算机节点的磁盘存储单独设定。需要注意的是,在配置文件里,“esadownloadworkerset”这个配置项的配置,三个计算节点必须不同,否则,三个计算机节点中有两个节点的下载连接会被ESA数据中心服务器拒绝导致下载失败。下图是user1用户三个计算机节点进行数据下载的示意图。

 

  图 8多节点分布式协同下载

  图中,user1创建了三个下载任务,这三个下载任务分别是Landat下载任务Task1,从ESA上下载Sentinle数据Task2,从Google上下载Sentinel数据Task3。在这三个计算机上,每个下载软件的配置文件里,软件账号和密码均配置为user1,“esadownloadworkerset”均配置了一个ESA账号。当三个计算机上的下载软件启动后,则每个节点会启动4个下载线程。分别是Task1任务一个下载线程,Task2任务两个下载线程,Task3任务一个下载线程。因此,用户user1使用三台计算机,同时可以使用软件下载12个数据文件,以加快自己的数据获取速度。

附件下载:
 
【打印本页】【关闭本页】
  主办:中国科学院遥感与数字地球研究所 地址:海淀区邓庄南路9号 邮编:100094
Copyright © 中国科学院遥感与数字地球研究所 备案号:京ICP备05080539号 京公网安备110402500008号