- 积分
- 55945
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-6-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 MeteoInfo 于 2015-7-3 15:30 编辑
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)
|
|