【问题标题】:Plot points on map in matlab在matlab中的地图上绘制点
【发布时间】:2018-11-28 05:48:58
【问题描述】:

我尝试使用 Plotting Points on a Map in MATLAB 在 matlab 的地图上绘制点,但由于某种原因,该点不会出现。 这是我的代码。

figure('visible','on');

    %%% Set the map boundaries
hi_lat=43.86;
lo_lat=41.23;
hi_lon= 6.08;
lo_lon=2.21;

    %%% Plot
worldmap ([lo_lat hi_lat], [lo_lon hi_lon]) % lat and lon bounds of your plot
geoshow('landareas.shp','FaceColor', 'green', 'EdgeColor', [0 0 0])
geoshow('worldcities.shp', 'Marker', '.',...
                       'Color', 'red')
labelLat = 43.5;
labelLon = 5.35;
textm(labelLat, labelLon, 'Marseille')
framem off; gridm off; mlabel off; plabel off
lat=3.13;
lon=42.48;
geoshow(lat,lon, 'DisplayType', 'Point', 'Marker', '+', 'Color', 'red'); %Part of the code that's not doing what I want it to do.

hold on

这让我得到下图:

我如何绘制另一个点?为什么不会出现?

【问题讨论】:

  • 您可能想要切换纬度和经度值。与马赛的价值观相比,您似乎在世界的另一端画了一条点路。

标签: matlab mapping


【解决方案1】:

您在地图上标记的点不会出现,因为您已超出经纬度限制。试试这个;

lat=42.48;
lon=3.13;

现在工作! 结果如下:

【讨论】:

  • 感谢您的回答,但这不正是我的代码中的内容吗?你想让我改变什么?
  • hi_lat=43.86; lo_lat=41.23; hi_lon = 6.08; lo_lon=2.21;这些是你的界限。您必须在最后一次 geoshow() 之前更改边界或经度和纬度定义。
【解决方案2】:

您的代码中的错误在这里:

lat=3.13;
lon=42.48;

您只是混淆了纬度和经度,因此它试图在地图上绘制一些较远的点。

试试:

lat=42.48;
lon=3.13;

【讨论】:

    猜你喜欢
    • 2013-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-15
    • 2020-08-17
    • 1970-01-01
    相关资源
    最近更新 更多