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窗口中的路径一般就是你的用户目录。
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,如果有什么问题和建议,希望能够反馈给我。
本文地址:https://blog.csdn.net/weixin_39672353/article/details/109852755
上一篇: 工作中常用js功能汇总