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

数据格式如下:
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. C008:输入显示日期

    代码: #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int day,month,year; do{ pri ...

  2. 在Oracle中十分钟内创建一张千万级别的表

    小表不会产生性能问题,大表才会.要练习SQL调优,还非得有大表不可.但数据不会自然产生,没有数据时如何创建一张千万级别的大表呢? 之前,我想用Oracle的批量插入语法去插入数据,此语法如下: INS ...

  3. 还不懂Redis?看完这个故事就明白了!

    我是Redis 你好,我是Redis,一个叫Antirez的男人把我带到了这个世界上. 说起我的诞生,跟关系数据库MySQL还挺有渊源的. 在我还没来到这个世界上的时候,MySQL过的很辛苦,互联网发 ...

  4. 透过 Cucumber 学习 BDD

    在需求的开发过程中,最令人困惑的地方就在于需求模糊.需求是解决业务的问题,那么验收的方式应该是由业务方提出,但是往往业务方(可能是产品经理,也可能是直接是客户)只能给出比较模糊的一个验收标准,而程序却 ...

  5. 使用Jasmine和karma对传统js进行单元测试

    当你拿到十五年前的一堆javascript的代码,你如何对这堆javascript代码写单元测试呢?于是就有了这篇文章. 注意:不需要装任何现代化js框架,包括angular,react,vue之类的 ...

  6. zookeeper服务端

    服务端启动时,就启动线程通过NIO监听网络端口.每个连接都会有一个上下文环境对象,当接收到请求后,会在上下文环境对象中进行处理. 服务端启动线程,监听网络端口,(NIOServerCnxn.Facto ...

  7. hystrix源码之hystrix请求变量

    HystrixRequestContext 请求的上线文实现,内部定义了一个静态变量ThreadLocal,每个线程可以获取自己的HystrixRequestContext对象.一个请求往往由一个to ...

  8. IntelliJ IDEA编辑器激活码

    2020-3-31 日 亲自测试有效,什么时候失效就母鸡了 激活码一: T3ACKYHDVF-eyJsaWNlbnNlSWQiOiJUM0FDS1lIRFZGIiwibGljZW5zZWVOYW1lI ...

  9. 新版 C# 高效率编程指南

    前言 C# 从 7 版本开始一直到如今的 9 版本,加入了非常多的特性,其中不乏改善性能.增加程序健壮性和代码简洁性.可读性的改进,这里我整理一些使用新版 C# 的时候个人推荐的写法,可能不适用于所有 ...

  10. 刷题[MRCTF2020]Ezpop

    解题思路 打开一看直接是代码审计的题,就嗯审.最近可能都在搞反序列化,先把反序列化的题刷烂,理解理解 代码审计 Welcome to index.php <?php //flag is in f ...