爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: MeteoInfo

MeteoInfoLab脚本示例:闪电位置图

[复制链接]

新浪微博达人勋

 楼主| 发表于 2016-10-19 11:54:40 | 显示全部楼层
wuwei2163 发表于 2016-10-19 10:53
嗯,是的,王老师。我上面的脚本就是先对河南区域内的闪电判断,然后再统计变化。但运行程序后不出图或者 ...

参考下面的脚本:
  1. #Read lighting data
  2. fn = 'D:/Temp/ascii/lighting/2009_06_06.txt'
  3. tf = open(fn)
  4. m_henan = shaperead('D:/Temp/Map/henan.shp')
  5. times = []
  6. nums = []
  7. for h in range(0, 24):
  8.     times.append(datetime.datetime(2009,6,6,h))
  9.     nums.append(0)
  10. for aline in tf:   
  11.     datalist = aline.split()
  12.     lat = float(datalist[3].split('=')[1])
  13.     lon = float(datalist[4].split('=')[1])
  14.     isin = inpolygon(lon, lat, m_henan.shapes()[0])
  15.     if isin:
  16.         h = int(datalist[2].split(':')[0])
  17.         nums[h] = nums[h] + 1

  18. #Plot
  19. plot(times, nums, '-ro')
  20. xaxis(axistype='time')
  21. ylabel('Lighting number')
  22. xlim(times[0], times[-1])
  23. title('Lighting number hourly variation in ' + times[0].strftime('%Y/%m/%d'))


密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-10-19 16:53:11 | 显示全部楼层
MeteoInfo 发表于 2016-10-19 11:54
参考下面的脚本:

非常感谢王老师。。。根据您的参考脚本,对照着一点一点调试自己的脚本程序,找到自己的错误原因了,原来是把时间的循环放到后面,导致这个for循环是个空的。同时通过这个,自己确实收获不少,准备开始学习教程了~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-3-24 10:47:12 | 显示全部楼层
王老师好厉害 谢谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-7 16:21:05 | 显示全部楼层
王老师,你好!由于编程基础比较弱,你编写的脚本我只能勉强看懂,自己动手写脚本还比较难。现在部分省市已经开始上三维闪电定位仪了,闪电的类型多了IC云闪(CG为云地闪),三维闪电数据格式(csv格式)跟二维的有所不同,如附件所示,如果要做三维的闪电统计,数据该如何读取呢,烦请指点。

1.csv

10.03 KB, 下载次数: 9, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-4-7 22:34:12 | 显示全部楼层
lu19320 发表于 2017-4-7 16:21
王老师,你好!由于编程基础比较弱,你编写的脚本我只能勉强看懂,自己动手写脚本还比较难。现在部分省市已 ...

  1. fn = 'D:/Temp/ascii/lighting/1.csv'
  2. table = readtable(fn, delimiter=',', format='%i%{yyyy/M/d H:mm}D%s%4f%3s%4f', \
  3.     encoding='gb2312')
  4. lon = table[u'经度']
  5. lat = table[u'纬度']
  6. v = table[u'强度(千安)']
  7. ltype = table[u'类型']
  8. #Plot
  9. axesm()
  10. mlayer = shaperead('D:/Temp/map/bou2_4p.shp')
  11. geoshow(mlayer)
  12. ss = makesymbolspec('point', {'value':(-10000,0), 'color':'b', 'marker':'m', 'size':6, 'caption':'Negative'}, \
  13.     {'value':(0,10000), 'color':'r', 'marker':'+', 'size':6, 'caption':'Positive'})
  14. layer = scatterm(lon, lat, v, symbolspec=ss)
  15. legend(legend=layer.legend(), loc='lower left')
  16. xlim(100, 120)
  17. ylim(20, 30)
  18. title('Lighting locations')
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2017-4-8 14:25:32 | 显示全部楼层

非常感谢王老师!不过我把老师脚本修改路径运行后,出现了如下错误:
Traceback (most recent call last):
  File "<iostream>", line 4, in <module>
  File "F:\MeteoInfo_Java_1.4.1_Files\MeteoInfo\pylib\mipylib\numeric\mitable.py", line 29, in __getitem__
    coldata = self.data.getColumnData(key)
        at org.meteoinfo.table.ColumnData.<init>(ColumnData.java:33)
        at org.meteoinfo.table.DataTable.getColumnData(DataTable.java:550)
        at org.meteoinfo.table.DataTable.getColumnData(DataTable.java:529)
        at org.meteoinfo.data.TableData.getColumnData(TableData.java:385)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)

java.lang.NullPointerException: java.lang.NullPointerException
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-4-8 15:48:20 | 显示全部楼层
lu19320 发表于 2017-4-8 14:25
非常感谢王老师!不过我把老师脚本修改路径运行后,出现了如下错误:
Traceback (most recent call last) ...

确保你的文件路径是对的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-8 16:28:45 | 显示全部楼层
本帖最后由 lu19320 于 2017-4-8 20:50 编辑
MeteoInfo 发表于 2017-4-8 15:48
确保你的文件路径是对的

找到原因了,数据里有两列的顺序反了。还有一个问题,三维闪电类型有云闪(只有正闪)和云地闪(正地闪和负地闪),怎样通过控制闪电类型、高度值、强度值,把云闪、正地闪、和负地闪三种类型一起画出来,正地闪里又不包括云闪。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-4-8 20:55:58 | 显示全部楼层
lu19320 发表于 2017-4-8 16:28
找到原因了,数据里有两列的顺序反了。还有一个问题,三维闪电类型有云闪(只有正闪)和云地闪(正地闪和 ...

我这里没有问题,要不你下载最新版本试试。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-5-3 15:49:18 | 显示全部楼层
赞赞赞{:eb502:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表