爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 240194|回复: 258

[程序设计] Matlab中M_map的高精度地形数据使用

  [复制链接]

新浪微博达人勋

发表于 2011-11-4 18:47:50 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 wlzhongouc 于 2012-10-5 15:39 编辑

今天尝试了在Matlab中使用M_map的高精度地形数据,首先到http://dss.ucar.edu/datasets/ds759.2/(需要注册一个账号,下载数据是免费的,很容易,上面还有其它很多气象可用的数据,包括NCEP等)进行地形数据的下载,找到tbase.Z并下载下来,将解压文件放到Matlab安装目录下的toolbox\m_map\之下,然后在文件m_tba2b.m中将fid=fopen的路径修改为解压数据所在目录:D:\Program Files\MATLAB\R2010a\toolbox\m_map\tbase (注意斜杠的方向),接着运行m_tba2b.m后在此目录下会生成tbase.int,最后在m_tbase.m中将PATHNAME修改为tbase.int所在目录,如:D:\Program Files\MATLAB\R2010a\toolbox\m_map\就可以调用此地形数据了。
可采用如下语句进行安装后的检测:
m_proj('lambert','lon',[-10 20],'lat',[33 48]);
m_tbase('contourf');
m_grid('linestyle','none','tickdir','out','linewidth',3);

类似的若想要更高精度的ETOPO地形数据http://dss.ucar.edu/datasets/ds759.3/,需要修改的是m_etopo2.m,方法同上。
参考http://www.eos.ubc.ca/~rich/private/mapug.html

但是我在尝试使用高精度的海岸线数据GSHHS时,出现了问题,按照说明进行的可总是没能成功,还愿与各位同学们交流。

猛牛 2011、11、4
该问题后来已解决,如下:
用M_Map的高地形数据时,若高地形数据的B文件是按照官方网址说明直接放在private文件夹下,在Matlab的路径窗口中要设置为高地形数据B文件所在的目录下如:D:\Program Files\MATLAB\R2010a\toolbox\m_map\private  , 这样才能调用!!!

而更好的解决办法是将解压缩后的gshhs文件夹(含所有的B文件)整个放在private文件夹下,并将FILNAME中的路径修改为private/gshhs/....b(b文件) ,然后在Matlab的set path中add with subfolders里把gshhs文件夹加上,这样在Matlab界面的路径窗口中使用缺省的路径就可以调用高精度地形数据!

同时在http://www.ngdc.noaa.gov/mgg/shorelines/data/gshhs/  下的高地形数据目前只能使用1.X版本的gshhs,更高版本的gshhs在现在的M_Map中不能识别,所以目前能够使用的最高版本gshhs只到1.10 !!!!!!!!

tbase.Z数据
tbase.Z (16.29 MB, 下载次数: 2869)

评分

参与人数 9金钱 +51 贡献 +4 积分流量 +300 收起 理由
NinoCat + 1 很给力!
HALF + 10 赞一个!
租车用户 + 1 很给力!
si_su + 2 很给力!
Miffy + 1 赞一个!
Aires + 14 + 4
qxtlyf + 2 + 100 赞一个!
baiduwenku + 10 + 200 赞一个!
mofangbao + 10 鼓励分享,也希望有朋友参与讨论

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-26 10:47:20 | 显示全部楼层
本帖最后由 sha 于 2016-4-26 11:02 编辑

我觉得挺蛋疼的..说明安装也不说明清楚,刻意留一手..你为何不将过程图文说明,看你的说明真浪费我一个多钟头,看了国外的说明才知道....

m_tbase.m

m_tbase.m
密码修改失败请联系微信:mofangbao
回复 支持 4 反对 0

使用道具 举报

新浪微博达人勋

发表于 2011-11-20 10:09:42 | 显示全部楼层
需要另外下高精度的岸线数据,原来的很低,替换掉即可
各种精度岸线添加
  1、gshhs岸线数据下载
  从http://www.ngdc.noaa.gov/mgg/shorelines/data/gshhs/  下载GSHHS岸线资料,解压得到文件:
  gshhs_c.b    crude resolution boundary data
  gshhs_f.b    full
  gshhs_h.b    high
  gshhs_i.b    intermediate
  gshhs_l.b    low   
  2、安装使用
  将以上文件添加到matlab路径下(copy文件到private文件夹下即可)。
  使用方法见英文说明手册,以下是一些简单的使用语句。
    m_gshhs_f('patch',[.5 .5 .5]);
    m_gshhs_h('patch',[.5 .5 .5]);
    m_gshhs_c('patch',[.5 .5 .5]);

评分

参与人数 1金钱 +5 收起 理由
mofangbao + 5

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2011-11-4 21:26:14 | 显示全部楼层
用tbase.m所作的中国近海地形图
China.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2011-11-4 21:13:45 | 显示全部楼层
楼主有图么,来张图吧,不过今晚我这里上传速度那是相当慢。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2011-11-4 21:25:27 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2011-11-4 21:30:17 | 显示全部楼层
wlzhongouc 发表于 2011-11-4 21:26
用tbase.m所作的中国近海地形图

恩 图文并茂了,猛牛果然猛,哈哈
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-11-19 14:52:32 | 显示全部楼层
去年想在Matlab中使用M_map搞个地图,老是不成功,谢谢你了,我参考一下,你试过可以搞小区的地图吗?绘一个省、市的地面吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2011-11-19 22:26:32 | 显示全部楼层
qxtlyf 发表于 2011-11-19 14:52
去年想在Matlab中使用M_map搞个地图,老是不成功,谢谢你了,我参考一下,你试过可以搞小区的地图吗?绘一个 ...

嗯 我试了一下 画省区或是市区的效果不好 这只是对于较大范围的看地形较好
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-11-20 11:46:09 | 显示全部楼层
强人,牛人、网站上的好东西太多了,主要以实用东西为主
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2011-11-21 09:05:15 | 显示全部楼层
无径之林 发表于 2011-11-20 10:09
需要另外下高精度的岸线数据,原来的很低,替换掉即可
各种精度岸线添加
  1、gshhs岸线数据下载

嗯 这个我试过了 但是画出来的精度并没见提高 不知是怎么回事 而且您提到的gshhs岸线数据是旧版本的吧? 新版本的没有这样的gshhs_c.b  gshhs_f.b  gshhs_h.b数据格式 而是另外的形式 不知您试过否?
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表