GFZ数据下载的一种方式分享

写在前面,本文转载自微信公众号“测绘者说”

在进行地球物理相关研究(特别是质量负荷)时,经常会用到德国地学中心(GFZ)提供的产品。其中包括但不限于非潮汐大气负荷、非潮汐海洋负荷、陆地水负荷等数据。但是在下载数据的过程中也遇到了一些不方便的地方。

GFZ官网(http://esmdata.gfz-potsdam.de:8080/repository/entry/show?entryid=e0fff81f-dcae-469e-8e0a-eb10caf2975b)

在这里插入图片描述

以陆地水负荷数据下载为例

数据下载界面

在这里插入图片描述

官方提供了几种下载方式

第一是根据用户需要,划定边界,从服务器下载边界内的数据。

在这里插入图片描述

第二是根据用户提供所需要的站点的经纬度,然后提供相应坐标点的数据。

在这里插入图片描述

第三是先把完整的数据下载到本地,根据GFZ提供的linux代码,通过内插得到所需要的站点的数据。

在这里插入图片描述

由于一次性需要下载比较多的站点的数据,但是又不想用方法三下载大量数据再内插,也不想用方法二一个个输经纬度然后下载数据,于是就有了方法四,也是本文的核心。

在使用方法二时,发现底下有一个链接,该链接就是下载时提交的地址,且有一定的规律

在这里插入图片描述

仔细一看发现就是站点的经纬度,起始时间,以及数据类型等等。

这样就可以根据用户所需要的站点坐标、时间、以及数据类型通过将目标链接编辑提前编辑好,然后循环调用wget来下载相关数据了

具体实现的相关代码如下:

# -*- coding: utf-8 -*-
"""
Created on Thu May 27 21:15:34 2021

@author: CHLi
"""

import wget

start_year = '2011'
start_month = '01'
start_day = '01'

end_year = '2017'
end_month = '12'
end_day = '31'

variable = 'duV'

url1 = 'http://esmdata.gfz-potsdam.de:8080/repository/entry/show/2010-now_point?'
url2 = 'submit=Get%20Point&output=data.gridaspoint'
url3 = '&entryid=f77b5404-b9b8-47ca-b6e2-8771af18b16d'
url4 = '&location.latitude='
url5 = '&location.longitude='
url6 =  '&calendar=proleptic_gregorian'
url7 = '&fromdate='+start_year+'-'+start_month+'-'+start_day
url8 = '%2012%3A00%3A00%20UTC'
url9 = '&todate='+end_year+'-'+end_month+'-'+end_day
url10 = '%2012%3A00%3A00%20UTC'
url11 = '&format=csv'
url12 = '&variable='+variable

download_site = 'GFZ_data'

filename = 'GNSS_info.txt'
with open(filename, 'r') as f:
    fileinfo = f.readlines()

for item in fileinfo:
    item1 = item.rstrip('\n')
    item2 = item1.split(' ')
    posname = item2[0]
    poslon = item2[1]
    poslat = item2[2]
    
    url = url1+url2+url3+url4+poslat+url5+poslon+url6 \
        +url7+url8+url9+url10+url11+url12
    
    download_name = download_site+ '\\' + posname + '.' + variable
    wget.download(url, download_name)
    
    print('finish:'+posname)
               

运行结果如下

在这里插入图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值