我想用matlab標記世界地圖上的數千個地理位置。我有這些地點的緯度和經度。有沒有什麼好方法可以做到這一點?謝謝。使用Matlab繪製世界地圖上的地理位置
6
A
回答
8
這是一個不需要任何工具箱的例子。
首先我們創建一個函數,使用Mercator projection轉換longitute /緯度位置。
function [x,y] = mercatorProjection(lon, lat, width, height)
x = mod((lon+180)*width/360, width) ;
y = height/2 - log(tan((lat+90)*pi/360))*width/(2*pi);
end
我們創造出一些位置:
% 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'
};
接下來把從Wikipedia地圖,應用投影和疊加的標記:
% 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
2
偉大的方式來繪製世界!
你只需要改變如下:
imshow(I, 'InitialMag',100, 'Border','tight'), hold on
到
imshow(img, 'InitialMag',100, 'Border','tight'), hold on
+2
我相信這不是一個答案,它應該是對@Amro答案的編輯。 – 2015-08-03 11:43:48
2
荷銀的回答爲我工作,但我不得不做一些改變。
我正在使用Matlab 7.9和imshow是圖像處理工具箱的一部分。爲了顯示地圖,而無需使用imshow功能,我換成這一行:
有了這一個:
image(img)
和它的工作。
相關問題
- 1. 在世界地圖上繪製圖形
- 2. 在用戶的世界地圖上顯示地理位置
- 3. 用世界地圖在世界地圖上快速繪製座標
- 4. 在世界地圖上顯示位置
- 5. 繪製使用底圖(蟒蛇)網絡/世界地圖上圖
- 6. 繪製各省的世界地圖
- 7. ggmap:無法找到與繪圖位置一起使用的世界地圖
- 8. 世界地圖 - 使用GGPLOT2
- 9. 在世界地圖上繪製條形圖
- 10. 用Google圖表定位世界地圖
- 11. 作爲世界地圖上的點繪製島嶼
- 12. 在MATLAB中生成世界地圖
- 13. 繪製世界地圖上分類數據
- 14. 在世界/國家地圖上繪製數據
- 15. R:在世界地圖上繪製分組座標
- 16. 使用緯度在世界地圖上繪製熱圖,在蟒蛇
- 17. Javascript世界地圖
- 18. 使用RSCript將數字/數據點繪製到世界地圖上
- 19. 在地圖上繪製圓圖Matlab
- 20. 在MATLAB中的地圖上繪製點
- 21. 地理位置:在地圖上繪製無數用戶的教程?
- 22. 如何用d3.js在世界地圖上繪製三維條形圖?
- 23. 繪製世界地圖[WGS84]與廣泛的OpenGL
- 24. ggmap的世界地圖
- 25. 如何繪製用作地圖的圖像上的GPS位置?
- 26. 如何防止複製世界地圖
- 27. 在R中的圖像地圖上覆蓋世界地圖
- 28. 如何繪製多個地理位置?
- 29. Opengl:着色世界地圖?
- 30. Google Analytics等世界地圖
哇!這很酷。謝謝Amro這樣一個詳細的答案! – Geni 2012-07-27 16:46:29