% 创建第一张世界地图
% worldmap函数自动为地图投影和坐标限制选择一个合理的选项
% 为了显示世界地图
% 该函数选择了以本初子午线和赤道(0°纬度,0°经度)为中心的Robinson投影
worldmap world
% 导入低分辨率世界海岸线数据
% 海岸线数据是一组离散的顶点
% 当按给定的顺序连接时
% 这些顶点近似于大陆、主要岛屿和内海的海岸线
load coastlines
whos
plot(coastlon,coastlat)
% 只有一个纬度矢量和一个经度矢量
% 每一个都包含许多不同的多边形,形成了世界的海岸线
% 使用NaN分隔符和NaN终止符将每个向量划分为多个部分
[latcells, loncells] = polysplit(coastlat, coastlon);
numel(latcells)
% 使用plotm函数在地图轴上绘制海岸线数据
% plotm是matlab绘图函数的地理plot
% 接受纬度和经度坐标,通过指定的地图投影将它们转换为X和Y
% 并将它们显示在图形轴中
plotm(coastlat, coastlon)
% 要绘制欧洲数据,创建新的地图
% worldmap函数如果指定一个返回参数,可以获取图形轴的句柄
% 除了任何matlab的axes对象通用的图形属性外
% map axes对象还包含其他属性
% 如地图投影类型、投影参数、地图限制等
% getm和setm函数可以访问和修改这些属性
h = worldmap('Europe');
% 这里可以精确到国家及地区
% 获取Worldmap使用的地图投影
getm(h,'MapProjection')
% 通过使用geoshow函数导入toolbox/map/map data文件夹中多个形状文件
% 将数据添加到欧洲地图
geoshow('landareas.shp', 'FaceColor', [0.15 0.5 0.15])
geoshow('worldlakes.shp', 'FaceColor', 'cyan')
geoshow('worldrivers.shp', 'Color', 'blue')
geoshow('worldcities.shp', 'Marker', '.','Color', 'red')
% 在地图上添加文字
labelLat = 35;
labelLon = 14;
textm(labelLat, labelLon, '地中海')