遥感数据处理系列
一些项目及科研中遇到的小需求,一方面记录自己的学习历程,另一方面帮助大家学习。本系列文章的开发环境为:ArcGIS 10.2.2 + Python 2.7、ENVI 5.3 + IDL 8.5
ArcPy批量计算栅格数据平均值
GLDAS数据下载及处理(NC转TIF)
ArcGIS批量裁剪栅格数据
ArcPy批量栅格重采样
ArcPy批量裁剪栅格数据
前言
大佬们搞出了各种数据集,并且开放下载、全球共享、打破科研壁垒,促进研究进程。不过,真要用他们的数据集却遇到各种问题。在此记录下~GLASS数据集提供了两个下载数据的途径:中国国家地球系统科学数据中心共享服务平台,美国马里兰大学。
经测试:数据中心共享服务平台限制文件下载数量;马里兰大学平台下载不受限制,不过,范围和时间的筛选不太友好。经过对文件URL的规律分析,使用Python 2.7构造了下载链接的批量生成,本文以GLASS的FVC数据下载为例展开。
一、URL构造
1. 原理简介
大概思路为:观察目标文件的下载链接 -> 获得下载链接的规律 -> 批量构造下载链接。
下载链接:
http://www.glass.umd.edu/FVC/MODIS/500m/2008/001/GLASS10E01.V40.A2008001.h27v06.2019363.hdf
参数简介:
2008:
目标文件年份文件夹
001:
目标文件天数文件夹
A2008001:
目标文件日期
h27v06:
目标区域轨道号
修改以上四个字符串即可完成下载链接的构造
2. 代码
# http://www.glass.umd.edu/FVC/MODIS/500m/2008/001/GLASS10E01.V40.A2008001.h28v08.2019363.hdf
site = r'http://www.glass.umd.edu/FVC/MODIS/500m/'
years = ['2008', '2009', '2010', '2011', '2012', '2013', '2014', '2015', '2016', '2017']
days = ['001', '009', '017', '025', '033', '041', '049', '057', '065', '073',
'081', '089', '097', '105', '113', '121', '129', '137', '145', '153',
'161', '169', '177', '185', '193', '201', '209', '217', '225', '233',
'241', '249', '257', '265', '273', '281', '289', '297', '305', '313',
'321', '329', '337', '345', '353', '361' ]
for year in years:
for day in days:
url1 = site + year + '/' + day + '/' + 'GLASS10E01.V40.A' + year + day + '.h27v06.2019363.hdf'
url2 = site + year + '/' + day + '/' + 'GLASS10E01.V40.A' + year + day + '.h27v07.2019363.hdf'
url3 = site + year + '/' + day + '/' + 'GLASS10E01.V40.A' + year + day + '.h28v07.2019363.hdf'
url4 = site + year + '/' + day + '/' + 'GLASS10E01.V40.A' + year + day + '.h28v08.2019363.hdf'
print url1
print url2
print url3
print url4
控制台输出的下载链接保存到文件后,使用 “ Chrome浏览器 -> DownLoadThemAll插件 -> 从文件导入下载链接 ” 完成下载。或是使用 “ 迅雷浏览器 -> 新建下载 ” 完成构造URL后的目标文件下载。
总结
网页文件解析+参数构造,可能要考虑下网速啥的。如果,数据中心平台数据下载限制取消就方便多了。测试下大佬的数据集效果怎么样,先用着(经测试,这个数据集挺棒的!)
后记
写博客的初衷是分享我的一些经验,同时也方便自己在其他电脑上进行数据处理。帮了很多人,但评论区小伙伴也有遇到问题的,那么:知识付费,我的时间和经验正好可以解决你的问题。