如何在MATLAB中绘制中国地图了呢?下面介绍两种方法。

第一种方法是利用MATLAB自带的map工具箱。直接在命令窗口输入

>>geoshow('***.shp')

就可以显示出中国地图了。***.shp是地图数据文件。geoshow命令的用法可以在MATLAB的帮助菜单里搜索到,因为我对map工具箱的用法还不是很了解,也就不多讲了。大家可以在网上搜索下相关的用法。我国的地图数据可以从国家基础地理信息系统的网站上下载,网址是http://nfgis.nsdi.gov.cn/。

用这种方法绘制的地图如下图。在绘制中我添加了一级河流的数据。还可以添加省界,地区界等数据。这些数据均可以从国家基础地理信息系统的网站上下载到。

第二种方法是利用m_map工具箱。该工具箱需要自己下载安装,下载的地址是http://www.eos.ubc.ca/~rich/map.html。m_map是一个功能很强大的工具箱,它提供多种投影方式,而且用法也很简单,容易上手,更重要的是,利用它可以很方便地绘制自己的数据。有兴趣的读者可以参阅它的使用说明。就在上述的网址上就有。但是m_map提供的边界数据使用起来很不方便,数据是按照国家单个给出的,如果想画出世界各国的边界,就需要把每个国家的数据都下载下来,很麻烦。

网上有如何利用m_map来绘制行政边界的说明,例如下面的这个地址的作者就提供了一个具体的操作方法:将下载的.shp文件通过mapinfo转换成.dxf文件,利用已编译好的fortran程序,读取经纬度信息,输出.dat文件。导入matlab空间(http://hi.baidu.com/blucas/blog/item/2f34c1fd48417087b901a014.html)。

如何通过mapinfo软件来转化.shp文件我没有尝试过,因为还要学习mapinfo的使用,对多数人来说,这也是很不方便的。其实我们可以利用功能强大的MATLAB来直接读取.shp文件的内容,命令就是shaperead。只要我们下载到了数据,就可以直接利用MATLAB来画图了。下面给出提取边界信息的简单程序。程序的后面三段即为m_map工具箱的命令。

>>a=shaperead('bou1_4l.shp');%读取shp文件的内容

>>bou1_4lx=[a(:).X];%提取经度信息

>>bou1_4ly=[a(:).Y];%提取纬度信息

>>m_proj('Lambert Conformal Conic','lon',[70,140],'lat',[0,60])%选择投影方式

>>m_plot(bou1_4lx,bou1_4ly)%绘图

>>m_grid%添加坐标

绘制的结果如下,与上图类似,也画出了一级河流,区别是使用的Lambert投影。

转载本文请联系原作者获取授权,同时请注明本文来自栾威科学网博客。

链接地址:http://blog.sciencenet.cn/blog-2356581-874578.html

上一篇:使用小波包变换分析信号的MATLAB程序

matlab画中国地图深浅,科学网—MATLAB绘制中国地图 - 栾威的博文相关推荐

  1. matlab 图的标注文字,科学网-Matlab画图(二):动画及文字标注-周建锋的博文

    俗话说"一图胜千言".在报告中用动画来展示一些关键性内容,可以收到更好的效果,也更能吸引观众的注意力.在这里,我们介绍如何用Matlab生成一些简单的动画,以及如何在画面中添加文字 ...

  2. matlab批量生成灰度图像_科学网—matlab彩色图像的批处理转换为灰度、二值和主成分图图像 - 金秀良的博文...

    这段代码主要用来进行图像的批处理转换为灰度.二值和主成分图图像,希望给大家借鉴.其中 RGB to bw可以直接实现,但是效果不好,所以先用RGB to gray,之后再gray to bw.RGB ...

  3. matlab的peer啥意思,科学网—Matlab读取PEER地震动记录数据库加速度数据函数 - 王德才的博文...

    PEER地震动记录数据库是目前应用最为广泛的数据库,为了便于利用其中的强震记录,对几年前采用Matlab编写的读取加速度数据函数进行了改写,使用了向量化的编写规则,减少了原有的循环处理,比原来的程序简 ...

  4. matlab加速度转化为位移,科学网—Matlab编写由加速度积分得到速度和位移函数 - 王德才的博文...

    研究中经常会用到将加速度数据积分成速度和位移,对前几年编写的程序重新进行了改写.为了测试和验证peer2acc函数.dirFolder函数和acc2vd函数,编写了一个简单的测试程序 acc2vd函数 ...

  5. matlab中syms怎么替代,科学网—Matlab中的syms与conj - 孔令才的博文

    Matlab提供了强大的符号计算功能,主要利用syms函数创建符号变量,例: >> syms x a b; >> diff(a^(b*x)+exp(a*x^2+b*x),x) ...

  6. matlab trapz二重积分函数_科学网—MATLAB中的数值积分方法 - 王福昌的博文

    实际应用中在MATLAB里面都有开发好的命令可以使用,如  quad(), quadl(),quad2d(),triplequad() .需要掌握这些命令的用法. 1. 定积分 trapz(),qua ...

  7. 在matlab图中加国界线,科学网-Matlab 利用m_map加国界线-肖鑫的博文

    首先要添加m_gshhs工具包,在private文件夹下下载好岸线数据,具体请参考m_map工具包官网 在m_gshhs.m下,告诉我们如何加入国界 function m_gshhs(resoluti ...

  8. matlab 小波中心频率,科学网-MATLAB:小波分析—时间序列的多时间尺度分析-李旭的博文...

    时间序列(Time Series)是地学研究中经常遇到的问题.在时间序列研究中,时域和频域是常用的两种基本形式.其中,时域分析具有时间定位能力,但无法得到关于时间序列变化的更多信息:频域分析(如Fou ...

  9. python画矢量图_科学网—Python绘制可插入Word的高清矢量图(SVG转EMF) - 任晓东的博文...

    Python具有强大的绘图功能.在科学论文中通常需要矢量图,而且如果能方便的插入到word中更好.Python中自带的绘图库matplotlib可以将图保存成svg格式,但是我通常喜欢使用emf的矢量 ...

  10. matlab如何画图时去掉陆地点,科学网—Matlab m_map一张地图上使用用多个colormap以及patch精细岸线数据去除河流 - 肖鑫的博文...

    主修物理海洋学,有变量空间场的画图需求,这是遇到的一些细节问题,部分灵感来自于网络. 本人在画陆地数据加温盐场的图时,需要调用两个colormap,这有很多种解决办法: 普通的2014b以后的版本来讲 ...

最新文章

  1. 9个点的所有解锁图_黔隆科技刷机教程酷派C1068忘记密码刷机解锁降级救砖解屏幕锁账户锁教程...
  2. go安装goctl进行Go Dockefile的自动生成
  3. python变量贡献率排序_3.2.5 贡献度分析
  4. 【CodeForces - 1038C】Gambling (博弈问题,优先队列模拟,贪心)
  5. MySQL介绍及安装(一)
  6. Map之一个Key存多个Value的MultiValueMap(一个键多个值)
  7. 946. Validate Stack Sequences验证栈序列
  8. 【SQL注入16】SQL漏洞利用之读写文件
  9. Centos7 安装zmap
  10. Qt之QThread基本用法
  11. 数据分析方法论(一)
  12. WINDOWS中hosts文件位置
  13. Consul作为配置中心,配置Asp.Net Core应用程序 依据key/value动态更新
  14. 自定义Spark累加器
  15. 【FPGA基础篇】底层结构组成
  16. quartus的操作和仿真
  17. c# 如何把一个1000数字随机分成10个数字 总和1000 加抽奖概率
  18. JMockit 指南 翻译
  19. python中的main函数可以被其他文件调用么_在Python中,如何在另一个py文件的[if\u name\uuuu='\uu main\uu']中调用子例程?...
  20. 齐鲁工业计算机考研分数线,齐鲁工业大学2021考研分数线已公布

热门文章

  1. ccna考试之导入题库———pdf转vce格式转换
  2. SoundPool基本用法
  3. 黑苹果部分usb、摄像头以及dw1560(BCM94352Z)蓝牙无法识别问题的解决方法
  4. 项目文档说明前端部分怎么写?写进readme.md文件里面。
  5. Linux磁盘ext3变成ext4,从Ext3迁移到Ext4
  6. C语言 utf8 gbk 互转
  7. 淘宝登录破解(滑动验证码破解,淘宝登录环境检测破解)
  8. RTE 2020第二批嘉宾公布 教育+社交+IoT行业大咖参会
  9. AI+IoT行业“飞轮效应”凸显,全球云服务能力将发挥关键作用
  10. 有关并联机器人动力学的学习