用Matlab将坐标添加到地图上

                                 用Matlab将坐标添加到地图上

今年本科组全国大学生数学建模国赛我没有参加,闲着无聊帮助研究生学姐做竞赛,她让我用matlab将坐标添加到地图上。我的思路是:先画个地图(地图可以是matlab自带的函数coast或者是导入一张地图图片)然后添加坐标信息。

以下是我给了三种作图方式,从简单到难,仅供参考。

源码数据下载地址:点击文字

小编邮箱:2377389590@qq.com

代码1:

clear all;
close all;
clc;
%author:猪猪侠
%date:2018-09-15
load coast;
[Num,Txt,Raw]=xlsread('data1.xlsx')  %经纬度数据
axesm mercator
plotm(lat,long,'k-');
hold on
plotm(Num(:,1),Num(:,2),'r.')

代码2

%author:猪猪侠
%date:2018-09-15
clc;
clear all; 
close all;
[Num,Txt,Raw]=xlsread('data1.xlsx');%文件存储地址
hold on
axesm('MapProjection','miller','Grid','on');
load coast;%加载海岸线
plotm(lat,long,'k-');%绘制地图海岸线
set(gcf,'Position',[100,10,450,250]);
set(gcf,'PaperPositionMode','auto');
mlabel('MLabelLocation',60);%标上经度刻度标签,每隔60度
plabel('PLabelLocation',30);%标上纬度刻度标签,每隔30度
setm(gca,'MLabelParallel','south');%将经度刻度标签放在南方,即下部
set(gca, 'xlim', [-4 4]);%设置画布大小的横长
set(gca, 'ylim', [-2.5 2.5]);%设置画布大小纵长
plotm(Num(:,1),Num(:,2),'r.')

代码3:

clc
clear
%author:猪猪侠
%date:2018-09-15
[Num,Txt,Raw]=xlsread('data1.xlsx');%导入坐标点信息
ax = worldmap('World');%世界地图
setm(ax, 'Origin', [0 180 0]) %设置地图的中心位置和绕中心点和地心点的轴旋转角度[latitude longitude orientation]
land = shaperead('landareas', 'UseGeoCoords', true);%加载陆地信息
geoshow(ax, land, 'FaceColor', [0.5 0.7 0])%显示陆地,颜色为 [R,G B]
lakes = shaperead('worldlakes', 'UseGeoCoords', true); %加载湖泊信息
geoshow(lakes, 'FaceColor', 'blue') %显示湖泊颜色blue
rivers = shaperead('worldrivers', 'UseGeoCoords', true); %加载河流信息
geoshow(rivers, 'Color', 'b')  %显示江河,颜色为blue
% setm(gca,'MLabelParallel','south');%将经度刻度标签放在南方,即下部  
hold on
plotm(Num(:,1),Num(:,2),'r.')

 

 


 

posted on 2019-11-25 09:47  好玩的MATLAB  阅读(8)  评论(0编辑  收藏  举报  来源

导航