Geolocation 用Matlab在世界地图上绘制地理位置

Geolocation 用Matlab在世界地图上绘制地理位置,geolocation,plot,matlab,matlab-figure,Geolocation,Plot,Matlab,Matlab Figure,我正试图用matlab在世界地图上标出几千个地理位置。我有这些地点的纬度和经度。有什么好办法吗?谢谢。这是一个不需要任何工具箱的示例 首先,我们创建一个函数,该函数使用 我们创建了一些位置: % GPS positions (latitude,longitude) of some markers data = [ -22.976730, - 43.195080 ; 55.756950, 37.614975 ; 33.605381, - 7.631940 ;

我正试图用matlab在世界地图上标出几千个地理位置。我有这些地点的纬度和经度。有什么好办法吗?谢谢。

这是一个不需要任何工具箱的示例

首先,我们创建一个函数,该函数使用

我们创建了一些位置:

% GPS positions (latitude,longitude) of some markers
data = [
    -22.976730, - 43.195080 ;
     55.756950,   37.614975 ;
     33.605381, -  7.631940 ;
     35.670479,  139.740921 ;
     51.506325, -  0.127144 ;
     40.714550, - 74.007124 ;
    -33.869629,  151.206955 ;
    -26.204944,   28.040035 ;
     37.777125, -122.419644 ;
     30.083740,   31.255360 ;
      6.439180,    3.423480
];
labels = {
    'Rio de Janeiro'
    'Moscow'
    'Casablanca'
    'Tokyo'
    'London'
    'New York'
    'Sydney'
    'Johannesburg'
    'San Francisco'
    'Cairo'
    'Lagos'
};
接下来,我们从加载地图,应用投影并覆盖标记:

% world map in Mercator projection
fname = 'https://upload.wikimedia.org/wikipedia/commons/thumb/7/74/Mercator-projection.jpg/773px-Mercator-projection.jpg';
img = imread(fname);
[imgH,imgW,~] = size(img);

% Mercator projection
[x,y] = mercatorProjection(data(:,2), data(:,1), imgW, imgH);

% plot markers on map
imshow(img, 'InitialMag',100, 'Border','tight'), hold on
plot(x,y, 'bo', 'MarkerSize',10, 'LineWidth',3)
text(x, y, labels, 'Color','w', 'VerticalAlign','bottom', 'HorizontalAlign','right')
hold off

描绘世界的好方法

您只需更改以下内容:

imshow(I, 'InitialMag',100, 'Border','tight'), hold on
进入


阿姆罗的回答对我很有用,但我不得不做一些改变

我使用的是Matlab7.9,imshow是图像处理工具箱的一部分。为了在不使用imshow功能的情况下显示地图,我替换了这一行:

imshow(img, 'InitialMag',100, 'Border','tight')
关于这一点:

image(img)

我相信这不是答案,应该是对@Amro答案的编辑。
imshow(img, 'InitialMag',100, 'Border','tight')
image(img)