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

脚本程序:

#Add a surfer grid data
f = addfile_surfer('D:/Temp/ascii/usgrid.dat')
tdata = f['var'][:,:]
#Read US shape file
us = shaperead('D:/Temp/map/states.shp')
#Average temporature for each state
i = 0
for 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 #Plot
axesm()
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)

最新文章

  1. SPI
  2. android六大框架
  3. /run/systemd/private: No such file or directory
  4. vs2010打包系统必备选择.net framework 3.5sp1编译错误的解决方法
  5. kmeans算法
  6. PL/pgSQL学习笔记之四
  7. KVM通过qemu实现USB重定向
  8. 理解java中的ThreadLocal(转)
  9. Java学习日记-2 零零碎碎
  10. uva12489 Combating cancer(树同构)
  11. iOS 中UITableViewController 中tableView 会被状态栏覆盖的问题
  12. Swift语言iOS开发:CALayer十则示例
  13. 【Python】生成器、回溯和八皇后问题
  14. DOM0 DOM2 DOM3
  15. linux操作系统基础篇(六)
  16. eclipse快捷注释生成方法
  17. lsyncd —— 多机器实时同步文件神器
  18. Python正则进阶
  19. FinalShell安装
  20. ionic3 启动白屏处理

热门文章

  1. 基础Html重点——防健忘
  2. pyhton:time模块和datetime模块
  3. 安装python3,配置pycharm
  4. 我是怎样通过个人项目成长为高级 JavaScript 开发者的
  5. Table内部实现2
  6. [HCTF 2018]admin wp
  7. Angular用户输入
  8. Fork Join 并发任务执行框架
  9. 阿里云mysql安装
  10. Raspberry Pi 4B 安装 CentOS 8