使用 geoshow 时更改地图投影
您可以使用 geoshow 函数,在基于 axesm 的地图上显示经纬度栅格和向量数据。当您更改基于 axesm 的地图的投影时,如果该地图中包含由 geoshow 函数绘制的栅格数据,MATLAB® 会重新投影这些栅格数据。但是,如果地图中包含由 geoshow 函数绘制的向量数据,则 MATLAB 不会对向量数据进行重新投影。要对向量数据进行坐标系转换,必须先将向量数据从地图中移除,然后重新绘制。
使用 geoshow 时更改地图投影
在使用 geoshow 函数显示栅格和向量数据后,更改基于 axesm 的地图的投影。
重新投影栅格数据
当您更改基于 axesm 的地图的投影时,如果该地图中包含由 geoshow 函数绘制的栅格数据,MATLAB 会重新投影这些栅格数据。
创建一个基于 axesm 且采用墨卡托投影的地图。
figure
axesm mercator使用 geoshow 函数在地图上显示栅格数据。例如,在此示例中,显示基于 EGM96 大地水准面模型的大地水准面高度。
[N,R] = egm96geoid; geoshow(N,R,"DisplayType","surface")

将地图投影更改为莫尔韦德投影。
ax = gca; setm(ax,"MapProjection","mollweid")

矢量数据重投影
当您更改基于 axesm 的地图的投影时,如果该地图中包含由 geoshow 函数绘制的向量数据,则 MATLAB 不会对向量数据进行重新投影。要对向量数据进行坐标系转换,必须先将向量数据从地图中移除,然后重新绘制。
建立一个基于 axesm 且采用米勒投影的地图。
figure
axesm miller使用 geoshow 函数在地图上显示向量数据。例如,显示一个包含全球陆地面积的 shapefile。返回 v 中的绘图对象。
v = geoshow("landareas.shp");
要对地图进行重新投影,请先删除绘图对象。将地图投影更改为正射投影。然后,再次绘制数据图。
delete(v) ax = gca; setm(ax,"MapProjection","ortho") geoshow("landareas.shp")
