怎么使用Python对站点数据执行径向基函数插值可视化
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章给大家介绍怎么使用Python对站点数据执行径向基函数插值可视化,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。以云南省2015年6月的29个气象站点数据为例进行径向基函数
千家信息网最后更新 2025年12月02日怎么使用Python对站点数据执行径向基函数插值可视化以云南省2015年6月的29个气象站点数据为例进行径向基函数(Rbf)插值。数据格式如下:
今天需要使用到cartopy库来绘图,因此需要先安装好,据说安装很烦人,可以去uci下载.whl文件来安装,安装好后先测试一下是否可以运行,如下简单测试:
首先,这是一个不成功的尝试,因为没能成功加载shp图层导致最后的插值没有落在特定的地理范围内。如果有伙伴知道这个问题的解决方法,希望不吝赐教。我相信只要是问题就一定存在解决方案。
那么现在就开始今天的测试,首先还是老套路导入所需要的库或模块,如下:
然后设置能够正常显示中文和负号
接下来用pandas读取整理好的数据,使用的数据是云南省2015年6月的降水数据和气温数据,文中只测试了降水的Rbf插值。
然后提取加载的xlsx数据里面的特定要素,比如经纬度,降水啥的
然后设置范围和格网化
接下来开始插值,function,我这里测试了3种,linear+cubic+gaussian,对于他们有啥区别哈哈,在最后我将分别展示这三种函数的模样
接下来加载云南省的shp图层以及修改经纬度啥的信息,就是这个位置我出错了,如果有知道解决方案的还请不吝赐教。
最后得到的结果就是这样的,下面这是linear结果:
接下来是cubic结果:
最后就是Gaussian的结果,如下:
这篇文章给大家介绍怎么使用Python对站点数据执行径向基函数插值可视化,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
首先,这是一个不成功的尝试,因为没能成功加载shp图层导致最后的插值没有落在特定的地理范围内。如果有伙伴知道这个问题的解决方法,希望不吝赐教。我相信只要是问题就一定存在解决方案。
那么现在就开始今天的测试,首先还是老套路导入所需要的库或模块,如下:
import numpy as np
import pandas as pd
from scipy.interpolate import Rbf
import cartopy.crs as ccrs
import cartopy.feature as cfeat
from cartopy.io.shapereader import Reader
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER,LATITUDE_FORMATTER
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']#正常显示中文
plt.rcParams['axes.unicode_minus']=False#正常显示负号climate = pd.read_excel('yunnanclimate.xlsx',header=None,sep='\s+',names=['站号','lon','lat','降水','气温'])#print(climate)#读取climate里面的具体数据
lon = climate['lon']
lat = climate['lat']
rain_data = climate['降水']#设置经纬度范围
slon = np.linspace(97.85,105.21,36)
slat = np.linspace(21.45,28.50,36)
slon,slat = np.meshgrid(slon,slat)#开始插值,使用径向基函数Rbf
func = Rbf(lon,lat,rain_data,function='cubic')
rainX = func(slon,slat)shp_path = r'D:\GeoCAS\Python\yunnan.shp'#设置绝对路径
proj = ccrs.PlateCarree()#设置投影
fig = plt.figure(figsize=(5,5),dpi=300)
ax = fig.subplots(1, 1, subplot_kw={'projection': proj})
extent = [97.85,105.21,21.45,28.50]#限定经纬度范围
reader = Reader(shp_path)#读取shp矢量
yunnan = cfeat.ShapelyFeature(reader.geometries(),proj,edgecolor='k',facecolor='none')#设定shp特征
ax.add_feature(yunnan,linewidth=0.5)
ax.set_extent(extent,crs=proj)
gl = ax.gridlines(crs=ccrs.PlateCarree(),draw_labels=True,linestyle='-')
gl.xlabels_top=False
gl.ylabels_right=False
gl.xformatter = LONGITUDE_FORMATTER#以经纬度格式显示xy轴
gl.yformatter = LATITUDE_FORMATTER
gl.xlabel_style={'size':6}#设置xy字体大小
gl.ylabel_style={'size':6}
h = ax.contourf(slon,slat,rainX,cmap='viridis',extend='both')
plt.colorbar(h,orientation='vertical')
plt.show()关于怎么使用Python对站点数据执行径向基函数插值可视化就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
数据
插值
函数
经纬
经纬度
降水
测试
径向
接下来
结果
范围
站点
就是
云南
云南省
可视化
成功
不吝赐教
内容
方案
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
铁路通信信息网络安全
把网络安全法是一部
高校 网络安全 研讨会
uniprot数据库名称
数据库事务的多个性质
添天互联网科技有限
河南省网络安全作业
使命召唤16不同服务器可以玩吗
王者荣耀删除服务器可以吗
网络安全手抄报简单画画
工行杭州软件开发中心996
京东数据库系统架构
乡镇卫生院网络安全案例
新国都嵌入式软件开发笔试
注重网络安全对策的意义
网络安全威胁主要来自那些
教师学习网络安全法学习心得
账户与口令 计算机网络安全
因网络安全事件 发生突
sql数据库软件有什么用
配置服务器管理器怎么打开
数学数据库sql
关于网络安全有趣的网名
网络安全信息年初工作会
湖南服务器硬盘回收云空间
网络安全教育黑板报图
电脑有线宽带无法连接远程服务器
沈阳招软件开发测试师
四维数据库
电大计算机网络技术考试