使用mapshow+shapefile的方法:

%% mapchina
clc;clear;clf
% shapefile中都包含了国界和省界
fnshp_L='E:\ChinaMap\国界与省界\bou2_4l.shp';%ShapeType: 'PolyLine'
fnshp_P='E:\ChinaMap\国界与省界\bou2_4p.shp';%ShapeType: 'Polygon'
infoL = shapeinfo(fnshp_L);
infoP = shapeinfo(fnshp_P);
readL=shaperead(fnshp_L);
readP=shaperead(fnshp_P);
subplot(121);mapshow(readL);title('PolyLine of China')
subplot(122);mapshow(readP);title('Polygon of China')

绘制图形如下:

第二种方法使用geoshow+shapefile的方法:

%% geoshow+shapefile
clc;clear;clf
% shapefile中都包含了国界和省界
fnshp_L='E:\ChinaMap\国界与省界\bou2_4l.shp';%ShapeType: 'PolyLine'
fnshp_P='E:\ChinaMap\国界与省界\bou2_4p.shp';%ShapeType: 'Polygon'
readL=shaperead(fnshp_L);%该文件中没有每个省的名称
readP=shaperead(fnshp_P);%该文件中有每个省的名称
subplot(121);worldmap('China');geoshow(fnshp_L);title('PolyLine of China')
subplot(122);worldmap('China');geoshow(fnshp_P);title('Polygon of China')

绘制的图形如下:

注意如果上面没有加worldmap的命令,那么和第一种方法绘制出来的图形是一样的.

如果只想显示安徽省的,那么可以这样做:

%bbox=[114,29;120,35];%安徽的地理位置
%S = shaperead(fnshp_P,'BoundingBox',bbox);
S = shaperead(fnshp_P);
n=1;
while (n>=1 && n<=numel(S))sname=S(n).NAME;if ( ~strcmp(sname,'安徽省'))S(n)=[];n=n-1;endn=n+1;
end
mapshow(S);

显示的结果如下:

如果使用geoshow,最好将数据中(X,Y)坐标转为(lon,lat):

bbox=[114,29;120,35];%安徽的地理位置
S = shaperead(fnshp_P,'BoundingBox',bbox,'UseGeoCoords', true);%只读一部分数据
n=1;
while (n>=1 && n<=numel(S))sname=S(n).NAME;if ( ~strcmp(sname,'安徽省'))S(n)=[];n=n-1;endn=n+1;
end
worldmap([29 35],[114 120]) %worldmap(latlim, lonlim)
geoshow(S)

绘制的地图为:

其实,上面的绘制任意省的地图方式还可以进一步简化:读取shapefile文件时使用'selector'选择你想要的省份就可以了:

S = shaperead(fnshp_P, 'UseGeoCoords', true,...'Selector',{@(NAME) strcmp(NAME,'安徽省'), 'NAME'});
worldmap([29 35],[114 120]) %worldmap(latlim, lonlim)
geoshow(S)

绘制的结果和上面的图是一样的.

有时我们希望修改地图的某些属性,例如投影方式,那么可是使用getm和setm来实现,请看下面的例子:

S = shaperead(fnshp_P, 'UseGeoCoords', true,'Selector',{@(NAME) strcmp(NAME,'安徽省'), 'NAME'});
wm=worldmap([29 35],[114 120]); %worldmap(latlim, lonlim)
%getm(wm)%查看当期地图的所有属性
setm(wm,'mapprojection','eqacylin');%可以使用maps查看所有的地图投影方式
gs=geoshow(S);

绘制的图形如下:

如果不想使用额外的shapefile绘图,matlab自带的shapefile也可:

wm=worldmap('world');
land=shaperead('landareas','UseGeoCoords',true);
geoshow(wm,land,'FaceColor',[0.5 0.7 0.5]);
lakes=shaperead('worldlakes','UseGeoCoords',true);
geoshow(lakes,'FaceColor','blue');
rivers=shaperead('worldrivers','UseGeoCoords',true);
geoshow(rivers,'Color','blue');
cities=shaperead('worldcities','UseGeoCoords',true);
geoshow(cities,'Marker','.','Color','red');

绘制的结果如下:

下面再给出一个例子:

maps %查看当前可用的地图投影方式%%  导入数据,全球海岸线
load coast%% 绘图
axesm robinson
patchm(lat,long,'g');%% 设置属性
setm(gca);%查看当前可以设置的所有图形坐标轴(map axes)的属性
setm(gca,'Frame','on');%使框架可见
getm(gca,'Frame');%使用getm可以获取指定的图形坐标轴的属性
setm(gca,'Grid','on');%打开网格
setm(gca,'MLabelLocation',60);%标上经度刻度标签,每隔60度
setm(gca,'MeridianLabel','on');%设置经度刻度标签可见
setm(gca,'PLabelLocation',[-90:30:90])%标上经度刻度标签,[-90:30:90]
setm(gca,'ParallelLabel','on');%设置经度刻度标签可见
setm(gca,'MLabelParallel','south');%将经度刻度标签放在南方,即下部
setm(gca,'Origin',[0,90,0]);%设置地图的中心位置和绕中心点和地心点的轴旋转角度[latitude longitude orientation]

绘制的图形如下:

matlab绘制中国地图相关推荐

  1. Matlab绘制中国地图(大陆地区)

    1 简介 MATLAB是著名的科学软件,具有绘图.编程.仿真等强大的功能.现在介绍MATLAB绘制中国地图的三种方式,分别是(1)使用m_map工具箱命令绘制中国地图:(2)使用mapshow和geo ...

  2. matlab画中国地图深浅,matlab绘制中国地图

    使用mapshow+shapefile的方法: %% mapchina clc;clear;clf % shapefile中都包含了国界和省界 fnshp_L='E:\ChinaMap\国界与省界\b ...

  3. matlab绘制中国南海地图(九段线小图)

    matlab绘制中国南海地图(九段线小图) 网上关于怎么画南海九段线小图的文章不多,在此记录一下. 绘制南海图 首先要下载中国地图的shp文件,参见上一篇文章. %------------------ ...

  4. 使用raphael.js绘制中国地图

    最近的数据统计项目中要用到中国地图,也就是在地图上动态的显示某个时间段某个省份地区的统计数据,我们不需要flash,仅仅依靠raphael.js以及SVG图像就可以完成地图的交互操作.在本文中,我给大 ...

  5. qcustomplot绘制热力图瀑布图_使用REmap绘制中国地图

    上次我们介绍了使用ggplot2绘制中国热力地图,需要温习的同学可以点击以下链接 使用ggplot2绘制中国地图  .在使用ggplot2绘制的时候,需要进行数据处理的步骤比较多,今天我们介绍一个新的 ...

  6. Ant Design Charts绘制中国地图并动态添加标记点

    绘制中国地图并动态添加标记点,在这里使用的是antd charts绘制,需要求只显示中国地图,并且跟踪物流信息 使用组件地址: 图表 - Plot | Ant Design Charts 这里的引入方 ...

  7. Basemap绘制中国地图

    2022.06.02更新 CHN_adm_shp.zip 网盘下载链接: 链接:https://pan.baidu.com/s/11igf-bfDLuolI5HzEykzMw 提取码:oas6 201 ...

  8. [Echarts可视化] 一.入门篇之简单绘制中国地图和贵州地区

    最近发生了很多事情,去到了一个新环境学习.但是不论在哪里,我都需要不忘初心,坚持做自己喜欢的事情,在CSDN写博客.教学.爱娜.生活等等.         这篇文章主要是通过Echarts可视化介绍入 ...

  9. 【Python 实战基础】 如何绘制中国地图展示省份GDP数据

    目录 一.实战场景 二.主要知识点 文件读写 基础语法 字符串处理 文件生成 数据构建 循环遍历 三.菜鸟实战 1.创建 python 文件 2.运行结果 一.实战场景 实战场景: 如何绘制中国地图展 ...

最新文章

  1. 火绒规则 禁止所有软件的安装_软件: Firefox 将禁止扩展静默安装
  2. Windows 11 操作系统最低硬件要求
  3. 《看聊天记录都学不会C#?太菜了吧》(5)C# 中可以用中文名变量?
  4. 翻译题(map使用)
  5. nginx php分离,nginx-php配置动静分离
  6. Linux命令终端提示符显示-bash-4.2#解决方法【转载】
  7. 使用Protobuf推动微服务和REST API的开发
  8. paip.sqlite 管理最好的工具 SQLite Expert 最佳实践总结
  9. 1、Java语言简介
  10. 从微软下载Vista Ultimate 中文旗舰版
  11. 风口来了?关于电子信息工程专业的有关介绍
  12. 抖音招商团长申请需要资料
  13. assets文件使用
  14. Win7 配置 Git 客户端 图文详解
  15. 广域网的基本概念和技术特点
  16. Docker拉取镜像报错error pulling image configuration
  17. MobaXterm如何修改字体
  18. MATLAB的线性规划工具
  19. 一个计算机专业女生的职业规划
  20. 【礼堂椅安装】礼堂椅影院椅组装步骤方法

热门文章

  1. SpringBoot+Mybatis-Plus项目接入ClickHouse数据源
  2. ajax的leiku,AJAX实现汉字和拼音搜索自动提示的效果(asp.net)
  3. 帮我写一段能实时获取经纬度和具体地区的python代码
  4. 相机光学(十八)——MTF与SFR
  5. 3ds Max(三维动画制作软件)V2020 x64 中文版
  6. o.s.b.d.LoggingFailureAnalysisReporter报错
  7. ubuntu 18共享文件夹不显示问题解决
  8. 腾讯QQ大数据:BI方法论-数据体系建设之路
  9. SPARQL查询语言概念及语法
  10. 电路基础(3)电阻电路等效变换的经典例题