怎么使用Python对站点数据执行径向基函数插值可视化
这篇文章给大家介绍怎么使用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 plt
plt.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对站点数据执行径向基函数插值可视化就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
本文名称:怎么使用Python对站点数据执行径向基函数插值可视化
本文路径:http://scgulin.cn/article/geeooj.html