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

数据格式如下:
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. js拖拽原理及简单实现(渣渣自学)

    第一步 首先简单分析下需求吧,我们就是想实现鼠标拖拽带颜色的方块时,让方块停留在鼠标松开的位置,需要计算的就是拖拽前的坐标和拖拽后的坐标,鼠标移动后相对于原位置的偏移量=目标元素的偏移量,根据这个等式 ...

  2. python 3 continue 循环控制

  3. [补题]找到原序列长度k的子序列中字典序最小的那个(单调栈)

    题意 题目如题,输入序列只包含小写字母,数据范围0<k<=len<=500000. 例: 输入:helloworld 输出:ellld 题解 使用单调栈.当已删掉n-k个字符,输出栈 ...

  4. Java成神之路:第一帖---- Vue的组件属性components用法

    Vue的组件属性:components 使用场景 一般在项目的使用过程中,某个需要多次使用的模块,会将整个模块抽取出来,写一个组件,供给其他页面进行调用或者是在一个页面中,多次使用到一个重复的代码样式 ...

  5. 离线安装Superset 0.37

    上文提到了Superset 0.37的在线安装方式,只需要更新pip,然后pip install就可以了.但是在生产环境中,特别是内网环境中,很多时候是没有外网的,这时候就需要采取离线安装的方式. 本 ...

  6. 分布式系统监视zabbix讲解九之使用snmp监控windows

    zabbix监控windows演示 第一步:开启服务. 控制面板>程序>程序和功能>打开或关闭windows功能,勾选上简单网络管理协议(SNMP),以及下面的子程序.点击确定 第二 ...

  7. Promise场景实例之图片加载

    所有图片加载完再添加到页面 { // 所有图片加载完再添加到页面 function loadImg(src) { return new Promise(function (resolve, rejec ...

  8. 关于弹性布局flex

    什么时候使用flex布局? 当页面排版涉及左右浮动.垂直居中等时,应使用flex布局来避免传统的盒式布局带来的一些Bug. 如何使用flex布局? 在目标元素的父元素设置csss属性.display: ...

  9. 基于Prometheus网关的监控完整实现参考

    prometheus 是一个非常好的监控组件,尤其是其与grafana配合之后,更是如虎添翼.而prometheus的监控有两种实现方式.1. server端主动拉取应用监控数据:2. 主动推送监控数 ...

  10. SpringBoot框架:'url' attribute is not specified and no embedded datasource could be configured问题处理

    一.问题如下: Description:    Failed to configure a DataSource: 'url' attribute is not specified and no em ...