【问题标题】:Plotting on a map在地图上绘图
【发布时间】:2014-08-05 22:41:11
【问题描述】:

我正在绘制轨迹,现在,我只有带有线条的数字,对应于我带来的 LAT 和 LON 列表。我如何将这些轨迹放在它们所在区域的地图上使用 LAT 和 LON 作为地图上的限制?

figure
for d = 1:i
hold on
plot(LON(d,:),LAT(d,:))
end
hold off

【问题讨论】:

  • 您可以添加一些情节或更多信息吗?
  • @ironzionlion 当然可以。现在应该附上问题了。 (x轴是经度,y轴是纬度)

标签: matlab map plot


【解决方案1】:

以下代码需要Matlab Mapping Toolbox

LAT = [30, 40, 60];
LON = [-130, -90, -60]

coast_border = load('coast')  % Load coastline from Matlabs dataset
ax = worldmap('world')  % Create map figure
setm(ax, 'MapLatLimit', [min(LAT), max(LAT)], 'MAPLonLimit', [min(LON), max(LON)])
plotm(coast_border.lat, coast_border.long, 'k')  % Ploat coastline
plotm(LAT, LON, 'r')

请注意,如果您想更改地图设置,则必须使用 setm 而不是 set

就个人而言,我更喜欢停用地图网格和标签并将背景颜色设置为蓝色

setm(ax,'meridianLabel','off','ParallelLabel','off','grid','off','ffacecolor',[0.6, 0.6, 1])

填满土地

patchm(coast_border_lat, coast_border.long, [0.5 0.5 0.5])

【讨论】:

  • 这为我提供了一张地图,但现在,我的轨迹不想停留。我在整个绘图过程中设置了“坚持”。有什么想法吗?
  • 您是否使用 plot 而不是 plotm?你应该试试 plotm(LAT, LON, 'r')
  • 运行我的示例时能看到红线吗?
  • 前两点之间出现一条线。第三组坐标没有。
  • 好的。我对 3 分也有同样的问题 - 添加第四个时,一切都很好。所以,一般来说,它也应该适用于你的坐标......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-18
  • 2019-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多