• GLASS产品下载


    全球陆表特征参量数据产品(GLASS产品),由北京师范大学梁顺林教授团队自主研发,数据产品包括叶面积指数(LAI)、反照率(Albedo)、发射率(BBE)、光合有效辐射(PAR)、下行短波辐射(DSR)、净辐射(NR)、光合有效辐射吸收比(FAPAR)、植被覆盖率(FVC)、潜热(ET)和植被总初级生产力(GPP)等多种产品。GLASS产品是基于多源遥感数据和地面实测数据,反演得到的长时间序列、高精度的全球地表遥感产品。这些产品为研究全球环境变化提供了可靠的依据,能够广泛应用于全球、洲际和区域的大气、植被覆盖、水体等方面的动态监测,并与气温、降水等气候变化表征参数结合起来,应用于全球变化分析。

    打开:http://glass-product.bnu.edu.cn/

    国家地球系统科学数据共享服务平台
    National Earth System Science Data Sharing Infrastructure

    马里兰大学GLASS下载
    UNIVERSITY OF MARYLAND GLASS Products Download

    行列号和MODIS数据一致

     

     问题:如何实现对于固定研究区域数据的下载呢?毕竟是8天分辨率的,如果一个个去手点肯定很麻烦,因此在这里想通过python编程实现:

     比如说,想要h26v05和h27v05的数据,时间为2000-2018年

    代码如下,主要参考:

    这里主要通过正则表达式进行匹配数据

    https://zhuanlan.zhihu.com/p/65474873

    import urllib.request# url request
    import re            # regular expression
    import os            # dirs
    import time
    
    '''
    url 下载网址
    pattern 正则化的匹配关键词
    Directory 下载目录
    '''
    def BatchDownload(url,pattern,Directory):   
        # 拉动请求,模拟成浏览器去访问网站->跳过反爬虫机制
        headers = {'User-Agent', 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36'}
        opener = urllib.request.build_opener()
        opener.addheaders = [headers]   
        # 获取网页内容
        content = opener.open(url).read().decode('utf8')    
        # 构造正则表达式,从content中匹配关键词pattern
        raw_hrefs = re.findall(pattern, content, 0)
        # set函数消除重复元素
        hset = set(raw_hrefs)
        
        # 下载链接
        for href in hset:
            # 之所以if else 是为了区别只有一个链接的特别情况
            if(len(hset)>1):
                link = url + href[0]
                filename = os.path.join(Directory,href[0])
                print("正在下载",filename)
                urllib.request.urlretrieve(link, filename)
                print("成功下载!")
            else:
                link = url +href[0]
                print(link)
                filename = os.path.join(Directory, href[0])
                print("正在下载",filename)
                urllib.request.urlretrieve(link, filename)
                print("成功下载!")   
            # 无sleep间隔,网站认定这种行为是攻击,反反爬虫
            time.sleep(1)
    
    for year in range(2000,2019):
        add_year='http://www.glass.umd.edu/FVC/MODIS/500m/'+str(year)+'/'
        for eday in range(1,362,8):
            add_day=add_year+str(eday).rjust(3,'0')+'/'
            print(add_day)
            BatchDownload(add_day,
                  '(GLASS10E01.V40.A(d*).h26v05.(d*)2019363.hdf)',
                  'H:HDFFILES')
            BatchDownload(add_day,
                  '(GLASS10E01.V40.A(d*).h27v05.(d*)2019363.hdf)',
                  'H:HDFFILES')

    下载结果:

    此外,从数据下载链接也可以找出规律,因此也可以简化一下:

    import urllib.request# url request
    import os            # dirs
    
    #url为下载链接
    #filename为文件名
    #Directory为希望下载文件保存所在的文件夹目录
    def UrlDownload(url,filename,Directory):   
        downfilename = os.path.join(Directory,filename)#下载到本地位置
        print("正在下载:",filename)
        urllib.request.urlretrieve(url,downfilename)#下载
        print("成功下载!")
    
    for year in range(2000,2019):
        add_year='http://www.glass.umd.edu/FVC/MODIS/500m/'+str(year)+'/'
        for eday in range(1,362,8):
            filename1='GLASS10E01.V40.A'+str(year)+str(eday).rjust(3,'0')+'.h27v05.2019363.hdf'
            filename2='GLASS10E01.V40.A'+str(year)+str(eday).rjust(3,'0')+'.h26v05.2019363.hdf'
            url1=add_year+str(eday).rjust(3,'0')+'/'+filename1
            url2=add_year+str(eday).rjust(3,'0')+'/'+filename2
            Directory='H:HDFFILESALLHDFS'
            UrlDownload(url1,filename1,Directory)
            UrlDownload(url2,filename2,Directory)

    3 预处理

    下载好的hdf数据还需要进行拼接与裁剪等操作:

    (1)python编程调用MRT进行拼接重采样投影转换(MRT在官方宣布中已经退役)

    (2)python调用HEG工具批量处理MODIS数据

    (3)python GDAL库处理栅格数据

    GDAL 将HDF文件转换为TIF文件

    GDAL 拼接TIF文件 :https://blog.csdn.net/XBR_2014/article/details/85255412

    GDAL 矢量裁剪TIF文件 :

    (4)python 调用 arcpy 批量处理 参考:https://blog.csdn.net/u012131430/article/details/107868742

    参考链接:

    https://zhuanlan.zhihu.com/p/150656411

    https://academic.hep.com.cn/skld/CN/book/978-7-04-040329-9

  • 相关阅读:
    [AWS] Lab
    [AWS] Lab
    [AWS] Launch the VPC Wizard
    [AWS] EC2 Dashboard
    mysql .net下载
    币乎咕噜DeFi踩雷记
    量化分析师关于有限差分方法(FDM)最好的5本书
    QuantStart量化交易文集
    Exploring Market Making Strategy for High Frequency Trading: An Agent-Based Approach
    什么是信息比率?信息比率与夏普比率的差别?
  • 原文地址:https://www.cnblogs.com/icydengyw/p/14529848.html
Copyright © 2020-2023  润新知