.nc文件根据经纬度提取点上数值python

news2025/1/22 16:45:04

.nc文件根据经纬度提取点上数值python

  • 1、数据集
  • 2、代码部分
  • 3、完整代码

1、数据集

VOD Climate Archive (VODCA) 数据由维也纳工业大学提供(https://doi.org/
10.5281/zenodo.2575599)。VODCA是一种空间分辨率为0.25°的全球每日VOD产品,其
基于多个传感器 (SSM/I、TMI、AMSR-E、WINDSAT 和 AMSR2) 的 VOD 检索结果的
融合,使用AMSR-E作为缩放参考,通过累积分布函数匹配进行共同校准,创建了C波
段 (~6.9 GHz、2002.6—2018.12)、X 波段 (10.7 GHz、1997.12—2018.12) 和 Ku 波段
(~19 GHz、1987.7—2017.7) 的长期 VOD 数据集。
VOD数据集下载
在这里插入图片描述
可以看出来,这个数据是三维数据(time维、lat纬度、lon经度)。

2、代码部分

首先,我们加载一下刚刚下载好的数据

# 提取VOD数据
import pandas as pd
import xarray as xr
# 读取文件
filefullpath = r'G:/DATA/VOD/VODCA_C-band_2002-2018_v01.0.0/C-Band/2004/vodca_v01-0_C-band_2004-01-01.nc'
ds = xr.open_dataset(filefullpath)
print(ds)

在这里插入图片描述
然后,根据经纬度读取数据

# 需要查询的点
find_latindex = 47.28642  # 需要查询的纬度
find_lonindex = 7.73375   # 需要查询的经度

vod_tem = ds['vod'].values  # 读取VOD数据
lat = ds['lat'].values.tolist()  # 读取纬度lat,并且一定要转化为列表格式,因为后面所使用的函数不支持numpy或者其他格式
print("lat:\n", lat)
lon = ds['lon'].values.tolist()  # 读取经度lon,并且一定要转化为列表格式,因为后面所使用的函数不支持numpy或者其他格式
print("lon:\n", lon)

在这里插入图片描述
查询距离指定经纬度最近的格点的下标,并读取数据

# 查询距离指定经纬度最近的格点的下标
lat_index = lat.index(min(lat, key=lambda x: abs(x - find_latindex)))  # 找的是下标
lon_index = lon.index(min(lon, key=lambda x: abs(x - find_lonindex)))
print("lon_index:", lon_index)
print("lat_index:", lat_index)
# 读取数据
vod_select = vod_tem[:, lat_index, lon_index]
print("vod:", vod_select)
time = ds['time'].values

在这里插入图片描述
最后转化为DateForm并输出成csv

# 最后转化为DateForm并输出成csv
data = pd.DataFrame({'TIME': time, 'VOD': vod_select}, index=[0])
print(data)

在这里插入图片描述

3、完整代码

# 提取VOD数据
import pandas as pd
import xarray as xr
# 读取文件
filefullpath = r'G:/DATA/VOD/VODCA_C-band_2002-2018_v01.0.0/C-Band/2004/vodca_v01-0_C-band_2004-01-01.nc'
ds = xr.open_dataset(filefullpath)
# print(ds)

# 需要查询的点
find_latindex = 47.28642  # 需要查询的纬度
find_lonindex = 7.73375   # 需要查询的经度

vod_tem = ds['vod'].values  # 读取VOD数据
lat = ds['lat'].values.tolist()  # 读取纬度lat
# 并且一定要转化为列表格式,因为后面所使用的函数不支持numpy或者其他格式
# print("lat:\n", lat)
lon = ds['lon'].values.tolist()  # 读取经度lon
# print("lon:\n", lon)

# 查询距离指定经纬度最近的格点的下标
lat_index = lat.index(min(lat, key=lambda x: abs(x - find_latindex)))  # 找的是下标
lon_index = lon.index(min(lon, key=lambda x: abs(x - find_lonindex)))
# print("lon_index:", lon_index)
# print("lat_index:", lat_index)
# 读取数据
vod_select = vod_tem[:, lat_index, lon_index]
# print("vod:", vod_select)
time = ds['time'].values

# 最后转化为DateForm并输出成csv
data = pd.DataFrame({'TIME': time, 'VOD': vod_select}, index=[0])
print(data)

参考文章:https://blog.csdn.net/qq_44907989/article/details/128057413

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/597311.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【十一】设计模式~~~结构型模式~~~代理模式(Java)

【学习难度:★★★☆☆,使用频率:★★★★☆】 6.1. 模式动机 在某些情况下,一个客户不想或者不能直接引用一个对 象,此时可以通过一个称之为“代理”的第三者来实现 间接引用。代理对象可以在客户端和目标对象之间起…

网络流量管理系统

网络监控对于当今的组织至关重要,该过程的一个关键方面是分析网络的正常运行时间、可用性、性能和安全性。随着云和物联网技术越来越多地成为现代 IT 环境的一部分,网络管理员必须更加警惕他们授予访问权限的流量,包括确定谁在使用他们的网络…

【十四】设计模式~~~行为型模式~~~中介者模式(Java)

【学习难度:★★★☆☆,使用频率:★★★★★】 3.1. 模式动机 建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应做出反应。在此,发生改变的对象称为观察目标&#…

提高测试效率5大捷径

1、优先级 测试任务和开发任务一样,都需要进行优先级排序。在测试工作中,优先进行级别高的测试任务,这样能够在无法保障测试周期的前提下,也不会对整体开发进度造成较大的影响。 提高测试效率5大捷径 2、重视测试策略 测试策略的基…

零代码,使用 Dify 两分钟接入企业微信

前置准备 企业微信的管理员权限 一个 Dify 的帐号 一个 Laf 云的帐号 (可选)一个 OpenAI 的 API Key。如果没有,可以使用 Dify 免费提供的 200 次调用机会用于测试。 (可选)在电脑上新建一个 env.txt 的文件&#…

C++进阶 —— 列表初始化(C++11新特性)

目录 一,列表初始化 二,类列表初始化 三,类模板列表初始化 库模板初始化列表实现 模拟模板初始化列表实现 在2003年C标准委员会曾经提交了一份技术勘误表(简称TC1),使得C03这个名字已经取代了C98称为C11之前的最新C标准名称&…

神经网络与机器学习

《神经网络与深度学习》 第一章 绪论1.1 人工智能知识结构预备知识顶会论文常用的深度学习框架研究领域 1.2 如何开发AIS芒果机器学习 1.3 表示学习局部表示和分布式表示 1.4 深度学习(Deep Learning) 第一章 绪论 1.1 人工智能 人工智能的一个子领域 神经网络&a…

百度商业AI技术创新大赛火热进行中,携手专家大咖一起创新为更好!

百度商业AI技术创新大赛火热进行中 来自百度、中国人工智能学会 及NVIDIA的专家大咖纷纷送上寄语 希望与充满创新思维的年轻人一起 探讨AI技术的创新应用 挖掘AIGC在商业领域发展的更多可能 开启中国人工智能发展新篇章! -戴琼海- 国务院参事 CAAI理事长 …

分布式锁的应用场景与分布式锁实现(三):基于Zookeeper实现分布式锁

分布式锁的应用场景与分布式锁实现(二):基于Redis实现分布式锁 基于Zookeeper实现分布式锁 ​ 实现分布式锁目前有三种流行方案,分别为基于数据库、Redis、Zookeeper的方案。这里主要介绍基于zk怎么实现分布式锁。在实现分布式锁…

每日一题——重复的子字符串

每日一题 重复的子字符串 题目链接 注:本题的题解基本建立在KMP算法之上,对KMP算法不太了解的小伙伴可以参考这篇文章KMP算法及其改进图文详解 方法一:移动匹配 我们先来看几个可以由一个字串重复多次构成的主字符串:“aaa”&am…

chatgpt赋能Python-python人脸识别步骤

简介 Python是一种优秀的编程语言,它广泛应用于人工智能、数据科学、Web应用程序开发等领域。其中,人脸识别是Python应用程序中的重要一环。 本文将介绍Python人脸识别的具体步骤,希望对初学者有所帮助。 Python人脸识别步骤 安装必要的库…

销售管理全面指南:职能、流程、目标和工具

销售管理是优化公司销售队伍的过程,以有效利用现有资源来完成交易。对于任何依靠销售来推动收入的企业来说,这是绝对必要的。 销售管理可以细分为三个主要领域:销售运营、销售策略和销售分析。 根据美国营销协会(AMA&#xff…

使用腾讯云短信服务实现Spring Boot短信发送

发送短信 01 注册微信公众号02 注册腾讯云账号03 创建签名和模板第一步 创建签名第二部 创建模板 04 发送短信 01 注册微信公众号 在百度中寻找微信公众平台,并在进入官网后注册。在账号注册过程中,需选择订阅号(个人)。注册成功后,请保存账…

我的浙大MEM提前批面试全流程重点信息梳理

浙江大学MEM已上岸,目前在读,给大家分享下我的备考经验,希望可以帮助到大家。 在确定自己的目标院校后收集相关信息是非常重要的,比如今年计划招多少学生,往年上岸都需要多少分,学费等情况,招考…

Kyligence x 集简云|无代码集成数百款应用,轻松打造数据产品

一站式指标平台 Kyligence Zen 现已支持对接集简云平台,企业无需繁琐的开发工作,即可无代码集成数百款应用,打破数据孤岛、统一数据口径,帮助企业实现数据的协作和分享,轻松进行数据分析、构建数据产品,助力…

腾讯董志强出席全国信安标委“标准周”:数字化转型需要高安全等级架构

2023年5月29日至6月1日,全国信息安全标准化技术委员会(以下简称“信安标委”)2023年第一次“标准周”活动在云南昆明举行。此次活动聚集了全国顶级的网络安全标准专家、学者和业界领袖,共同探讨网络安全标准领域的前沿议题和最佳实…

c语言函数返回值的几种方式,入参方式回传数据

背景 在正常使用过程中,突然发现有用二级指针传递地址,我想没必要用二级指针,实际目的是函数入参的参数,也是函数出参的参数 #mermaid-svg-ylOpK9fmaLgdD9YO {font-family:"trebuchet ms",verdana,arial,sans-serif;fo…

火山引擎A/B测试:MAB智能调优实验,企业活动效果提升新利器

618临近,各大电商APP的预热活动已然拉开序幕。对企业而言,一场活动从策划到上线,中间经过效果验证,其业务成本很高。一个好的活动创意从策划、开发、到最终发布,至少会经历几周实践,如果中间还经历A/B实验的…

三肽-33/Preventhelia(Diaminopropionoyl Tripeptide-33)

紫外线是一种电磁波,波长小于可见光,大部分地球表面的紫外线来自太阳,紫外线是伤害性光线的一种,经由皮肤吸收,会破坏DNA,使细胞会死亡或凋零从而产生皱纹、晒伤、等一系列不良反应。 作用机理---- Preven…

深入理解设计原则之依赖反转原则(DIP)

系列文章目录 C高性能优化编程系列 深入理解设计原则系列 深入理解设计模式系列 高级C并发线程编程 DIP:依赖反转原则 系列文章目录1、依赖反转原则的定义和解读2、稳定的抽象层3、依赖倒置原则和控制反转、依赖注入的联系小结 1、依赖反转原则的定义和解读 SOIL…