使用matlab绘制世界地图有两种方法(自己使用过的,可能有别的我不了解的方法):第一种是worldmap和geoshow;第二种是利用m_map工具箱;下面分别介绍这两种方法。
1.worldmap & geoshow
worldmap和geoshow是matlab中绘图工具箱的两个绘图函数,直接调用即可。
worldmap的语法:
worldmap region %region可以是单个大陆、国家、岛屿或地区的名称
worldmap(region)
worldmap %直接输入该命令会得到一个包含所有可选区域的菜单
worldmap(latlim,lonlim) %根据以度为单位的经纬度自定义需要展示的区域
geoshow的语法:
geoshow(lat,lon) %使用存储在当前坐标轴中的投影来投影和显示经纬度向量lat和lon。
geoshow(S) %以点、多点、线或多边形的形式显示存储在S中的向量的地理特征。
详细说明和示例参考官方文档:https://ww2.mathworks.cn/help/
绘制世界地图的matlab代码:
ax = worldmap('World'); %选择区域为‘世界’
setm(ax, 'Origin', [0 0 0]); %设置坐标轴属性,[0,0,0]表示地图中心的经纬度高度
land = shaperead('landareas', 'UseGeoCoords', true); %导入陆地框架
geoshow(ax, land, 'FaceColor', [0.5 0.7 0.5]); %展示地图
运行结果如下:
2.m_map工具箱
m_map工具箱需要自行下载安装
链接:https://pan.baidu.com/s/14vGsZgX-K9w9v0ShU3WSig
提取码:2ubg
下载后解压,复制解压后的m_map1.4文件夹到MATLAB安装路径下的toolbox文件夹中,
例如我的toolbox路径为:D:\Program Files\MATLAB\R2018a\toolbox。
设置路径:打开matlab主页,点击‘设置路径’,添加toolbox下的m_map文件夹;
更新工具箱:打开主页中的预设,进入常规,更新工具箱路径缓存,确定;
测试工具箱:在命令行窗口输入help m_map,如果出现M_Map版本、功能介绍等信息,就说明安装成功了。
使用m_map绘制世界地图:
m_proj('robinson','long',[-180 180],'lat',[-90 90]);
m_coast('patch',[.7 1 .7],'edgecolor','none'); % 海岸填充
m_grid('box','fancy','linestyle','-','gridcolor','w','backcolor',[.2 .65 1]); % 边框属性
m_map参考文档中对每个函数的使用有详细的解释,建议看官方文档了解语法:
https://www.eoas.ubc.ca/~rich/mapug.html
运行结果如下:
3.根据经纬度在世界地图上绘制点位
使用worldmap和geoshow:
%导入世界地图
ax = worldmap('World');
setm(ax, 'Origin', [0 0]);
land = shaperead('landareas', 'UseGeoCoords', true);
geoshow(ax, land, 'FaceColor', [0.5 0.7 0.5]);
%按照经纬度绘制点位
scatterm(lat,long,10,'filled') %经纬度可以是单个点的,也可以是若干个点的
%plotm(lat,lon,'Marker','.') %使用scatterm和plotm均可绘制点位
运行结果如下:
使用m_map:
m_plot(lon,lat,'.','color','m');
m_proj('robinson','long',[-180 180],'lat',[-90 90]);
m_coast('patch',[.7 1 .7],'edgecolor','none'); % 海岸填充
m_grid('box','fancy','linestyle','-','gridcolor','w','backcolor',[.2 .65 1]); % 边框属性
运行结果如下:
个人原创,仅供参考,转载请注明原文出处!
文章来源: https://blog.csdn.net/zxdd2018/article/details/88824841
标签: