- 积分
- 56384
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-6-21
- 最后登录
- 1970-1-1

|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 MeteoInfo 于 2018-3-22 09:20 编辑
此例中的降水文本文件下载自“中国气象科学数据共享服务网”(http://cdc.nmic.cn/sksj.do?method=ssrjscp),其实是ESRI的文本格点数据格式。对于文本数据,MeteoInfoLab中有asciiread函数来读取数据,第一个参数是文件名,然后可以有一些可选参数,headerlines=6指的是读取数据前跳过6行头文件,对于非空格分隔的文件还需要指定数据分隔符号,比如:delimiter=',' (逗号分隔),shape=(72,128)指定了将数据读入一个72*168的二维数组中。由于Y维是反向的(正常是从南至被),需要对数组进行Y维反向处理:rain1 = rain[::-1,:]。由于该数据中国区域外都是缺测值,画出来的图在边界地区会有很多锯齿。其实气象是无国界的,向这种只提供国内区域的格点数据实在没什么意思。数据的头文件中有经纬度范围,据此创建了x, y变量来表示经纬度坐标矢量。
脚本程序如下:
 - rain = asciiread('D:/Temp/ascii/SURF_CLI_CHN_PRE_DAY_GRID_0.5-20120702.txt',headerlines=6,shape=(72,128))
- rain1 = rain[::-1,:]
- x = arange1(72, 128, 0.5)
- y = arange1(18, 72, 0.5)
- #Plot
- axesm()
- geoshow('country')
- layer = contourfm(x, y, rain1, 20)
- #layer = imshowm(x, y, rain1, 20)
- title('Precipitation')
- ylabel('Latitude')
- xlabel('Longitude')
- colorbar(layer)
|
|