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

MeteoInfoLab中读取文本文件数据的函数是asciiread,获取文本文件行、列数的函数是numasciirow和numasciicol,和NCL中函数名一致,但都是小写字母。本例中的示例数据文件来自此帖中的数据flood.dat:http://bbs.06climate.com/forum.php?mod=viewthread&tid=29257&extra=page%3D1,该数据文件没有文件头(直接是数据),共三列,分别是经度、纬度和值。先获取文件的行数和列数,然后用asciiread读取文件数据到一个多维数组,数据的维设定需要给定:shape=(nrow,ncol)。然后从数组中取出经度、纬度和值的一维数组(lon, lat, v),用scatterm函数绘制散点图。

脚本程序:

fn = 'D:/Temp/ascii/flood.dat'
ncol = numasciicol(fn)
nrow = numasciirow(fn)
a = asciiread(fn,shape=(nrow,ncol))
lon = a[:,0]
lat = a[:,1]
v = a[:,2]
axesm()
mlayer = shaperead('D:/Temp/map/bou2_4p.shp')
geoshow(mlayer, facecolor=(220,220,220), edgecolor=None)
layer = scatterm(lon, lat, v, edge=False, size=2)
xlim(109.2, 111)
ylim(19.8, 21.8) 
title('Flood plain area')
ylabel('Latitude')
xlabel('Longitude')
colorbar(layer)

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