IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 气象大数据平台(天擎)数据读取方法(python)(雷达数据下载) -> 正文阅读

[Python知识库]气象大数据平台(天擎)数据读取方法(python)(雷达数据下载)

作者:recommend-item-box type_blog clearfix

一、下载雷达资料

天擎中地面数据下载https://blog.csdn.net/hq19940416/article/details/124493688?spm=1001.2014.3001.5502雷达下载方法与地面数据下载类似,但与地面数据不同的是,雷达基数据文件下载显示每个基数据文件都有一个url链接,点击后自动下载得到基数据.bz2文件。

因此,雷达资料下载程序中将在地面下载程序中多一个下载基数据步骤。

# 拼接timestamp、nonce、sign
baseUrl += '&timestamp=' + timestamp+'&nonce=' + nonce+'&sign=' + sign
response = requests.get(baseUrl)
# 获取url内容并解码,得到时间段内雷达数据的下载链接
xml_data = response.content.decode('utf-8')
res=json.loads(xml_data))['DS']
#根据天擎内雷达基数据链接下载基数据(.bz2文件)
l =len(res)
for i in range(l):
    rda_dbz_url = res[i]['FILE_URL']
    save_filename = res[i]['FILE_NAME']
    save_path ="E:/download/rda/"
    save_file = save_path + save_filename
    rda_dbz = requests.get(rda_dbz_url)
    with open(save_file, "wb") as code:
        code.write(rda_dbz.content)

在运行完天擎下载url后,得到了一个包含雷达基数据所在的url链接、雷达文件名、文件大小等信息的dict数据。

然后再使用request.get()语句,得到雷达基数据.bz2文件,用with open语句将文件存入文件夹。

二、读取雷达基数据.bz2文件

我目前使用的读取多普勒雷达的模块有两个,一个是pycinrad,还有一个是pycwr。这两个模块读取台站的元数据时,pycinrad模块取出的是雷达站拔海高度,pycwr模块取出的是雷达馈源高度。

本文使用的是pycwr,其使用文档:

pycwr使用文档https://pycwr.readthedocs.io/en/latest/PyCWR_intro.html读取雷达基数据的代码如下:

from pycwr.io import read_auto
import os,sys

Dir = "E:/download/rda/" #目标文件夹
fileType = '.bz2' #雷达基数据后缀名
radar_file = get_filename(Dir,fileType)   #get_filename是本人自写的批量读取文件夹内的函数
S = []
for i in range(len(radar_file)):
    PRD = read_auto(radar_file[i])
    S_alt = PRD.scan_info.altitude.values.min()
    S_lon = PRD.scan_info.longitude.values.min()
    S_lat = PRD.scan_info.latitude.values.min()
    S_id = PRD.sitename[-5:]
    S_name = PRD.sitename[:-6]
    S_information = {"站名":S_name,"站号":S_id,"经度":S_lon,"纬度":S_lat,"高度":S_alt}
    S.append(S_information)

运行代码后能得到一个嵌套字典的列表

三、将列表写入txt文件

with open("F:/temp/my2.txt","w+") as f:
    for m in range(len(S)):
        for k,v in S[m].items():
            f.write(f"{k},{v}\t".format(k,v))
        f.write(f"\n")

with open('?件地址',‘w+’):as f:
f.write()写?,w+读写
f'{k},{v}'? 字典格式化写??件
?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-05-01 15:42:14  更:2022-05-01 15:42:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:40:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码