博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MeteoInfoLab脚本示例:计算不同区域平均值
阅读量:4595 次
发布时间:2019-06-09

本文共 949 字,大约阅读时间需要 3 分钟。

这里用美国做例子,有一个美国区域的格点温度场数据(usgrid.data),需要计算出每个州(state)的平均温度。当然需要有一个包含各州行政区域的shape文件了(相关文件可以在此帖中下载:)。首先读取格点数据数组,然后读取states.shp文件生成us图层,对us图层所有的图元(shape,每个图元就是一个州)遍历,对于每个州,利用该州的图元maksout格点数据,然后求平均值、最大值和最小值,并打印出来(当然也可以输出到文件中,具体在网上找python输出文本文件的例子)。后面的绘图语句只是为了看看数据的分布情况。

脚本程序:

#Add a surfer grid dataf = addfile_surfer('D:/Temp/ascii/usgrid.dat')tdata = f['var'][:,:]#Read US shape fileus = shaperead('D:/Temp/map/states.shp')#Average temporature for each statei = 0for rpoly in us.getShapes():    name = us.getCellValue('STATE_NAME', i)    mdata = tdata.maskout(rpoly)    tave = mdata.ave()    tmin = mdata.min()    tmax = mdata.max()    print name + ', Ave: %.2f, Min: %.2f, Max: %.2f' %(tave, tmin, tmax)    i += 1    #Plotaxesm()world = shaperead('D:/Temp/map/country1.shp')geoshow(world)geoshow(us, edgecolor=[0,0,255])layer = contourfm(tdata,20)title('Temporature distribution map')colorbar(layer)

转载于:https://www.cnblogs.com/yaqiang/p/4641198.html

你可能感兴趣的文章
VirtualBox 下 CentOS6.5 网络配置(NAT) (公司内部用)
查看>>
面向对象三大基本特性,五大基本原则
查看>>
User32.dll 函数的相关方法整理
查看>>
Bootstarp 水平垂直居中
查看>>
LInux Centos7 重装yum
查看>>
HDU 3802Ipad,IPhone
查看>>
高德坐标转百度坐标并导航
查看>>
mpvue配合less
查看>>
查询一个表的不同数据,显示到一个表
查看>>
Unity随手记
查看>>
Swagger入门教程
查看>>
nginx日志定时切割脚本
查看>>
HashSet的实现原理
查看>>
oracle创建简单的包
查看>>
[POJ2689]Prime Distance
查看>>
python连接zookeeper的日志问题
查看>>
pycharm上传代码到码云错误现象用户密码
查看>>
柔性数组-读《深度探索C++对象模型》有感
查看>>
rmdir 命令(转)
查看>>
生产者消费者
查看>>