这个脚本示例读取文本格式的闪电数据,读出每条闪电记录的经纬度和强度,在地图上绘制出每个闪电的位置,并用符号和颜色区分强度正负。

数据格式如下:
0 2009-06-06 00:01:16.6195722 纬度=35.0297  经度=114.8923  强度=23.4   陡度=9.1    误差=71.9   定位方式:四站算法
1 2009-06-06 01:34:58.5911760 纬度=34.4243  经度=115.6057  强度=-1.3   陡度=-0.4   误差=0.0    定位方式:二站振幅
2 2009-06-06 01:36:59.6324818 纬度=35.9314  经度=114.9388  强度=-35.2  陡度=-6.1   误差=0.0    定位方式:三站混合
3 2009-06-06 01:54:25.2727088 纬度=34.4163  经度=115.6121  强度=-1.9   陡度=-0.3   误差=0.0    定位方式:二站振幅
4 2009-06-06 01:58:35.1179896 纬度=35.3270  经度=106.5536  强度=-384.1 陡度=-80.6  误差=0.0    定位方式:二站振幅
5 2009-06-06 01:59:15.9764295 纬度=34.5339  经度=114.4466  强度=58.4   陡度=26.7   误差=0.0    定位方式:三站混合
7 2009-06-06 02:00:35.0869527 纬度=34.3934  经度=115.5976  强度=-3.3   陡度=-1.0   误差=0.0    定位方式:二站振幅
8 2009-06-06 02:00:43.0728269 纬度=34.4124  经度=115.7238  强度=-5.3   陡度=-3.1   误差=0.0    定位方式:二站混合
9 2009-06-06 02:00:43.2227403 纬度=34.4131  经度=115.7171  强度=-8.4   陡度=-4.1   误差=0.0    定位方式:二站混合
10 2009-06-06 02:02:21.5951061 纬度=34.3817  经度=115.6268  强度=-7.2   陡度=-1.6   误差=0.0    定位方式:二站振幅

脚本程序:

fn = 'D:/Temp/ascii/lighting/2009_06_06.txt'
tf = open(fn)
lats = []
lons = []
vs = []
for aline in tf:
datalist = aline.split()
lat = float(datalist[3].split('=')[1])
lon = float(datalist[4].split('=')[1])
v = float(datalist[5].split('=')[1])
lats.append(lat)
lons.append(lon)
vs.append(v)
lon = array(lons)
lat = array(lats)
v = array(vs)
axesm()
mlayer = shaperead('D:/Temp/map/bou2_4p.shp')
geoshow(mlayer)
ss = makesymbolspec('point', {'value':(-10000,0), 'color':'b', 'marker':'m', 'size':6}, \
{'value':(0,10000), 'color':'r', 'marker':'+', 'size':6})
layer = scatterm(lon, lat, v, symbolspec=ss)
xlim(90, 130)
ylim(20, 50)
title(u'闪电位置图', fontname=u'黑体', fontsize=18)

MeteoInfoLab脚本示例:闪电位置图的更多相关文章

  1. MeteoInfoLab脚本示例:计算垂直螺旋度

    尝试编写MeteoInfoLab脚本计算垂直螺旋度,结果未经验证. 脚本程序: print 'Open data files...' f_uwnd = addfile('D:/Temp/nc/uwnd ...

  2. MeteoInfoLab脚本示例:FY-3C全球火点HDF数据

    FY-3C全球火点HDF数据包含一个FIRES二维变量,第一维是火点数,第二维是一些属性,其中第3.4列分别是火点的纬度和经度.下面的脚本示例读出所有火点经纬度并绘图.脚本程序: #Add data ...

  3. MeteoInfoLab脚本示例:创建netCDF文件(合并文件)

    在MeteoInfoLab中增加了创建netCDF文件并写入数据的功能,这里利用合并多个netCDF文件为一个新的netCDF文件为例.1.创建一个可写入的netCDF文件对象(下面用ncfile表示 ...

  4. MeteoInfoLab脚本示例:Trajectory

    示例读取HYSPLIT模式输出的气团轨迹数据文件,生成轨迹图层,并显示轨迹各节点的气压图.脚本程序: f = addfile_hytraj('D:/MyProgram/Distribution/jav ...

  5. MeteoInfoLab脚本示例:读取文本文件绘制散度图

    MeteoInfoLab中读取文本文件数据的函数是asciiread,获取文本文件行.列数的函数是numasciirow和numasciicol,和NCL中函数名一致,但都是小写字母.本例中的示例数据 ...

  6. MeteoInfoLab脚本示例:AMSR-E卫星数据投影

    AMSR-E(http://nsidc.org/data/amsre/index.html)数据中的Land3数据是HDF-EOS4格式,投影是Cylindrical_Equal_Area.这里示例读 ...

  7. MeteoInfoLab脚本示例:计算水平螺旋度

    尝试了用MeteoInfoLab编写计算水平螺旋度的脚本,结果未经验证.脚本程序: print 'Open data files...' f_uwnd = addfile('D:/Temp/nc/uw ...

  8. MeteoInfoLab脚本示例:合并数组

    对于全球数据来说,经度要么是-180 - 180,要么是0 - 360,都会存在边界数据不连续的问题.比如0 - 360的数据,怎么得到 -20 - 30度的连续格点数据就是个问题(跨越了数据的经度边 ...

  9. MeteoInfoLab脚本示例:加载图片和透明图层

    MeteoInfoLab的georead函数提供了读取shape文件.image文件(JPG.PNG等,需要有相应的地理定位文件)文件生成图层的功能(事实上shaperead也是同样的功能,不过函数名 ...

随机推荐

  1. Vue文件模板

    <template> <div> </div> </template> <script> export default { } </s ...

  2. 解锁用户scott并授权

    请输入用户名: system 输入口令: 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Producti ...

  3. Oracle SQL 判断某表是否存在

    SQL> SELECT COUNT (*) as cnt FROM ALL_TABLES WHERE table_name = UPPER('your_table'); CNT -------- ...

  4. docker容器数据持久化

    将数据从宿主机挂载到容器中的三种方式 1.Volume 2.Bind Mounts 3.tmpfs Volumes:docker管理宿主机文件系统的一部分(/var/lib/docker/volume ...

  5. Java学习预热

    预备知识 什么是计算机 点击进入百度百科(计算机) 计算机硬件组成 主要部件 CPU 内存 主板 IO设备 键盘 鼠标 麦克风 显示器 音箱 冯·诺依曼体系结构 计算机软件 系统软件 DOS wind ...

  6. PostGreSQL不同索引类型(btree & hash)的性能问题

    在关系型数据库调优中,查询语句涉及到的索引类型是不得不考虑的一个问题.不同的类型的索引可能会适用不同类型的业务场景.这里我们所说的索引类型指的是访问方法(Access Method),至于从其他维度区 ...

  7. Spring学习(九)Spring 和数据库编程【了解】

    一.传统 JDBC 回顾 用一个大佬的demo来简单看一下 /** * 使用jdbc,根据id查询单个Student的信息 */ public class JdbcManage { public St ...

  8. 使用SpringBoot的方式配置过滤器

    springboot 不存在web.xml 那么如何配置过滤器呢 springboot提供了一种方式 通过spring容器配置 @Bean public FilterRegistrationBean ...

  9. [LCTF]bestphp's revenge 给我的启发学习

    bestphp's revenge flag.php: only localhost can get flag!sessionstart(); echo 'only localhost can get ...

  10. subDomainsBrute安装(windows系统)

    step1:  安装python2.7(省略) step2:  下载subDomainsBrute 地址: https://github.com/lijiejie/subDomainsBrute 下载 ...