(20190504-2)matlab绘制中国/世界地图(海岸线,国界,省界)——mapshow/geoshow

参考:

【1】https://blog.csdn.net/zzx2016zzx/article/details/82908239

【2】https://jingyan.baidu.com/article/1e5468f94f59a5484961b738.html

【3】https://jingyan.baidu.com/article/a17d5285c8d0cb8098c8f28a.html

【4】https://jingyan.baidu.com/article/870c6fc36fdacfb03ee4be58.html

【5】https://blog.csdn.net/rumswell/article/details/14644231

【6】https://blog.csdn.net/rumswell/article/details/15027347

%======================

%======
figure(1)
a = worldmap('China');%描绘出中国地图的轮廓,其中的China是描绘中国地图;
worldmap([10,55],[70,140]); 
%要是换做其他地图,就可以换成‘World’,或者'North Pole', 'South Pole', 'Pacific'

%======
%读取中国大陆的架构
% figure(2)
% landareas = shaperead('landareas.shp','UseGeoCoords', true);  
% geoshow (landareas, 'FaceColor', [1 1 .5],'lon',[70,140],'lat',[0,60]);  

%======
%画出大陆的海岸线
% figure(3)
load coast  
plotm(lat, long) 

%======
%设置经纬度的间隔
setm(gca,'MLineLocation',5)%设置经度间隔为5
setm(gca,'PLineLocation',10)%设置纬度间隔为10

%设置经纬度标签的间隔
setm(gca,'MLabelLocation',10)%设置经度标签为每隔5度
setm(gca,'PLabelLocation',5)%设置纬度标签为每隔10度
grid on

%给大陆加上颜色
% land = shaperead('landareas', 'UseGeoCoords', true);  
% geoshow(a, land, 'FaceColor', [0.5 0.7 0.5])

(20190504-2)matlab绘制中国/世界地图(海岸线,国界,省界)——mapshow/geoshow_第1张图片

%========

显示不带投影的地图数据


%=========
close all; 
clear ;
clc;
figure(2) 
fnshp_L='bou2_4l.shp';
fnshp_P='bou2_4p.shp';

LatLonLim=[70,15;140,55];%读取指定经度纬度的范围
readL=shaperead(fnshp_L,'BoundingBox',LatLonLim,'UseGeoCoords', true);%只读一部分数据
readP=shaperead(fnshp_P,'BoundingBox',LatLonLim,'UseGeoCoords', true);%只读一部分数据
    
mapshow(readL,'Color','k');
title('ChinaMap')


%=========





(20190504-2)matlab绘制中国/世界地图(海岸线,国界,省界)——mapshow/geoshow_第2张图片

%============

figure(3) 
%==============
fnshp_L='bou2_4l.shp';
fnshp_P='bou2_4p.shp';
readL=shaperead(fnshp_L);
readP=shaperead(fnshp_P);

%==============
% a = worldmap('China');%描绘出中国地图的轮廓,其中的China是描绘中国地图;
worldmap([15,55],[70,140]); %指定经纬度范围
geoshow(fnshp_L,'Color','k');

%=============绘制海岸线
load coast  
plotm(lat, long,'Color','k') ;% plotm(lat, long) %海岸线默认颜色为蓝色
hold on;

%==============
%设置经纬度的间隔
setm(gca,'MLineLocation',5)%设置经度间隔为5
setm(gca,'PLineLocation',10)%设置纬度间隔为10
%设置经纬度标签的间隔
setm(gca,'MLabelLocation',10)%设置经度标签为每隔5度
setm(gca,'PLabelLocation',5)%设置纬度标签为每隔10度
title('China','FontSize',14,'FontWeight','Bold')

(20190504-2)matlab绘制中国/世界地图(海岸线,国界,省界)——mapshow/geoshow_第3张图片

 

%==================【20200511】=======

不需要读取shpfile文件,利用matlab自带的海岸线绘制

继续补充绘制世界地图的方法:【参考https://jingyan.baidu.com/article/1e5468f94f59a5484961b738.html】

close all; clear; clc
load coast;
%绘制全球海岸线
plot(long,lat,'color',[0,0,0],'LineWidth',1);hold on;
axis equal;axis tight;grid on;
set(gca,'fontname','Time New Romans','fontsize',15,...
 'tickdir','out','ticklength',[0.02,0.02],...
 'gridlinestyle','-.','linewidth',0.1,...
'xtick',[-180:60:180],'ytick',[-90:30:90],...
 'yticklabel',{' ','60S','30S','0','30N','60N'});
xlabel('Longitude');
ylabel('Latitude');

(20190504-2)matlab绘制中国/世界地图(海岸线,国界,省界)——mapshow/geoshow_第4张图片

自定义绘制指定范围地图(如绘制中国及周边海岸线):

close all; clear; clc
load coast;
%绘制中国岸线
plot(long,lat,'color',[0,0,0],'LineWidth',1);hold on;
axis equal;axis tight;grid on;
set(gca,'fontname','Time New Romans','fontsize',10,...
 'tickdir','out','ticklength',[0.02,0.02],...
 'gridlinestyle','-.','linewidth',0.1,...
'xtick',[70:20:140],'ytick',[0:10:60],...
'xticklabel',{'70E ','90E','110E','130E'},...
 'yticklabel',{'0 ','10N','20N','30N','40N','50N','60N'});
xlabel('Longitude');
ylabel('Latitude');
%设置只显示中国范围
xlim([70 140]);
ylim([0 60]);

(20190504-2)matlab绘制中国/世界地图(海岸线,国界,省界)——mapshow/geoshow_第5张图片

绘制地图主要是为了叠加显示自己的数据:举个例子

close all; clear; clc
load coast;
%绘制全球海岸线
plot(long,lat,'color',[0,0,0],'LineWidth',1);hold on;
axis equal;axis tight;grid on;
set(gca,'fontname','Time New Romans','fontsize',15,...
 'tickdir','out','ticklength',[0.02,0.02],...
 'gridlinestyle','-.','linewidth',0.1,...
'xtick',[-180:60:180],'ytick',[-90:30:90],...
 'yticklabel',{' ','60S','30S','0','30N','60N'});
xlabel('Longitude');
ylabel('Latitude');


%在地图上叠加自己的数据
plot(long(100:1000),lat(200:1100),'color','red','LineWidth',2);

 (20190504-2)matlab绘制中国/世界地图(海岸线,国界,省界)——mapshow/geoshow_第6张图片

%==================

shp文件可以网上自行下载,或联系本文作者。

博文引用部分网上内容(附有链接),如有侵权,请联系作者删除,尊重知识原创。

知识分享带来进步,如果觉得有用,博文下方 点赞  鼓励~

 

 

 

 

你可能感兴趣的:(matlab)