GNSS数据自动下载脚本(使用CDDIS账号)

GNSS数据自动下载脚本(使用CDDIS账号)


前言

   由于CDDIS分析中心从2020年10月31日不再支持匿名的FTP下载,目前的数据下载只能通过HTTPS or ftp-ssl,并需要事先注册EARTHDATA的账号。因此之前的数据下载脚本无法再使用,本文使用python重新撰写了相关下载脚本。可以支持MGEX观测文件、导航星历、精密轨道与钟差、DCB、IGS的erp、snx文件下载。
   相应的代码托管在GitHub上,链接为https://github.com/Dream-t/GNSSdatadownload.git


以下是本篇文章正文内容。

1.注册EARTHDATA账号

   进入到earthdata的官网:https://urs.earthdata.nasa.gov/,点击注册,按照流程走完即可。
在这里插入图片描述

2.使用前的准备工作

(1)使用脚本前的准备工作:

  • 脚本编写采用python语言,运行脚本前需要安装python,我的python版本是py3.6。代码中只使用了一些基本库(包):os,sys,calendar,因此一般的python版本都可以使用,我也没有测试过其他版本。
  • 由于CDDIS需要账号才能下载,因此在第一步注册完成后,我们需要配置一个.netrc文件,用于登录。新建一个txt文件,然后输入下面一行,并将login和password替换为自己的账号和密码,再将其重命名为.netrc即可。最后将其放在你的用户目录下,如果你不知道自己的用户目录,按住WIN+R,输入cmd,打开的cmd窗口中的路径一般就是你的用户目录。需要注意的是,.netrc文件在windows下要重命名为_netrc。
machine urs.earthdata.nasa.gov login <你的账号> password <你的密码>
  • 脚本需要使用curl,gzip,如果没有,自己下载并放到和脚本同一个目录下即可,我也在GitHub项目中放入了curl和gzip工具,可以使用。

3.脚本的使用

   一共有三个python脚本,download_batch.py、stations.py和timeCov.py,download_batch.py调用其他两个,station.py存储一些MGEX测站信息,用于下载观测值文件,timeCov.py包含一些时间转换函数。
   需要注意的是:使用前需要修改download_batch.py中的保存路径为自己电脑中的路径。
   使用方法:

python [pyfile] [YYYY] [MM] [DD] [type] [AC] [ndays]
pyfile: python file name
YYYY:  4-digit year
MM:     2-digit month
DD:     2-digit day of month
type:   obs/nav/sp3/clk/erp/dcb/snx
AC:     analytic center for sp3/clk,it can be set 0 if you choose other type
ndays:  number of days

   示例:
在这里插入图片描述

总结

   编写了python脚本自动下载GNSS数据,可以自动下载GNSS obs/nav/sp3/clk/erp/dcb/snx数据,并且扩展起来也十分方便,代码托管在https://github.com/Dream-t/GNSSdatadownload.git,欢迎大家使用和fork,如果有什么问题和建议,希望能够反馈给我。

Q&A 2020-12-14

  1. 报not in gzip format这个错误
    这个问题意味着下载失败,可能有两个原因:(1)相应的网址上没有当前要下载的文件 ,这个原因导致的错误没办法解决,只能去其他分析中心网址上找找看。(2)_netrc配置不正确,这个应该是大部分情况下出现的原因。解决方法在代码中指定_netrc文件,不再使用-n选项,改为 --netrc-file _netrc,并将_netrc放在和python脚本同一个目录下。

最新更新 2021/09/19

由于国外IGS数据下载方式变了,去年写的个小脚本,用来自己下载数据,但可能做的不是很完善,就在那里瞎折腾哈。不久前发现一个别人写的自动下载工具,https://github.com/zhouforme0318/GAMPII-GOOD.自己用过感觉挺好用的,也能自己扩展。有需要的话,可以下载看看,基本都是通过wget/curl这些下载工具,搭配组合命令的方式,反正折腾来折腾去也就会了,哈哈哈。

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 28
    评论
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值