用Matlab将坐标添加到地图上

matlab 专栏收录该内容
39 篇文章 35 订阅

                                 用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.')

 

 


 

©️2021 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值