matlab绘制中国地图
使用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绘制中国地图相关推荐
- Matlab绘制中国地图(大陆地区)
1 简介 MATLAB是著名的科学软件,具有绘图.编程.仿真等强大的功能.现在介绍MATLAB绘制中国地图的三种方式,分别是(1)使用m_map工具箱命令绘制中国地图:(2)使用mapshow和geo ...
- matlab画中国地图深浅,matlab绘制中国地图
使用mapshow+shapefile的方法: %% mapchina clc;clear;clf % shapefile中都包含了国界和省界 fnshp_L='E:\ChinaMap\国界与省界\b ...
- matlab绘制中国南海地图(九段线小图)
matlab绘制中国南海地图(九段线小图) 网上关于怎么画南海九段线小图的文章不多,在此记录一下. 绘制南海图 首先要下载中国地图的shp文件,参见上一篇文章. %------------------ ...
- 使用raphael.js绘制中国地图
最近的数据统计项目中要用到中国地图,也就是在地图上动态的显示某个时间段某个省份地区的统计数据,我们不需要flash,仅仅依靠raphael.js以及SVG图像就可以完成地图的交互操作.在本文中,我给大 ...
- qcustomplot绘制热力图瀑布图_使用REmap绘制中国地图
上次我们介绍了使用ggplot2绘制中国热力地图,需要温习的同学可以点击以下链接 使用ggplot2绘制中国地图 .在使用ggplot2绘制的时候,需要进行数据处理的步骤比较多,今天我们介绍一个新的 ...
- Ant Design Charts绘制中国地图并动态添加标记点
绘制中国地图并动态添加标记点,在这里使用的是antd charts绘制,需要求只显示中国地图,并且跟踪物流信息 使用组件地址: 图表 - Plot | Ant Design Charts 这里的引入方 ...
- Basemap绘制中国地图
2022.06.02更新 CHN_adm_shp.zip 网盘下载链接: 链接:https://pan.baidu.com/s/11igf-bfDLuolI5HzEykzMw 提取码:oas6 201 ...
- [Echarts可视化] 一.入门篇之简单绘制中国地图和贵州地区
最近发生了很多事情,去到了一个新环境学习.但是不论在哪里,我都需要不忘初心,坚持做自己喜欢的事情,在CSDN写博客.教学.爱娜.生活等等. 这篇文章主要是通过Echarts可视化介绍入 ...
- 【Python 实战基础】 如何绘制中国地图展示省份GDP数据
目录 一.实战场景 二.主要知识点 文件读写 基础语法 字符串处理 文件生成 数据构建 循环遍历 三.菜鸟实战 1.创建 python 文件 2.运行结果 一.实战场景 实战场景: 如何绘制中国地图展 ...
最新文章
- 火绒规则 禁止所有软件的安装_软件: Firefox 将禁止扩展静默安装
- Windows 11 操作系统最低硬件要求
- 《看聊天记录都学不会C#?太菜了吧》(5)C# 中可以用中文名变量?
- 翻译题(map使用)
- nginx php分离,nginx-php配置动静分离
- Linux命令终端提示符显示-bash-4.2#解决方法【转载】
- 使用Protobuf推动微服务和REST API的开发
- paip.sqlite 管理最好的工具 SQLite Expert 最佳实践总结
- 1、Java语言简介
- 从微软下载Vista Ultimate 中文旗舰版
- 风口来了?关于电子信息工程专业的有关介绍
- 抖音招商团长申请需要资料
- assets文件使用
- Win7 配置 Git 客户端 图文详解
- 广域网的基本概念和技术特点
- Docker拉取镜像报错error pulling image configuration
- MobaXterm如何修改字体
- MATLAB的线性规划工具
- 一个计算机专业女生的职业规划
- 【礼堂椅安装】礼堂椅影院椅组装步骤方法
热门文章
- SpringBoot+Mybatis-Plus项目接入ClickHouse数据源
- ajax的leiku,AJAX实现汉字和拼音搜索自动提示的效果(asp.net)
- 帮我写一段能实时获取经纬度和具体地区的python代码
- 相机光学(十八)——MTF与SFR
- 3ds Max(三维动画制作软件)V2020 x64 中文版
- o.s.b.d.LoggingFailureAnalysisReporter报错
- ubuntu 18共享文件夹不显示问题解决
- 腾讯QQ大数据:BI方法论-数据体系建设之路
- SPARQL查询语言概念及语法
- 电路基础(3)电阻电路等效变换的经典例题