使用matlab绘制地图
文章目录
- 创建 axes
- worldmap
- 加载数据
- shaperead
- load
- 显示地图元素
- geoshow
- plotm 画线
- 格式、属性控制
- makesymbolspec
- setm
- 当把东经西经换成小数表示时,北正南负、东正西负
创建 axes
worldmap
%1
ax = worldmap('France')
%2
ax = worldmap({'Africa','India'})
%3
ax = worldmap([25 50],[-130 -65]);
%4
load korea % Map of terrain elevations in Korea
ax = worldmap(map, refvec);
加载数据
shaperead
%1
S = shaperead(FILENAME) returns an N-by-1 structure array,
%2
S = shaperead(filename,Name,Value, ...)
%3
[S, A] = shaperead(...)S An N-by-1 geographic data structure array containing an element for each non-null, spatial feature in the shapefile.
A An N-by-1 attribute structure array, A, parallel to array S.
常用内置文件
文件名(.shp) | 说明 | 数据结构 |
---|---|---|
usastatelo | 美国州行政区域划分 | Polygon |
landareas | 世界的陆地形状 | Polygon |
worldcities | 世界城市 | Point |
worldrivers | 世界河流 | Line |
worldlakes | 世界湖泊 | Polygon |
参数
name | value | details |
---|---|---|
UseGeoCoords | true、false | 默认false,此时结构体中用X,Y表示坐标;若为true,结构体中用Lat、Lon表示坐标。 |
BoundingBox | [xmin,ymin;xmax,ymax] for map coordinates, [lonmin,latmin;lonmax,latmax] for geographic coordinates |
数据结构
type | properties |
---|---|
Lines | ‘Color’, ‘LineStyle’, ‘LineWidth’, and ‘Visible.’ |
Points or Multipoints | ‘Marker’, ‘Color’, ‘MarkerEdgeColor’,‘MarkerFaceColor’,‘MarkerSize’, and ‘Visible.’ |
Polygons | ‘FaceColor’, ‘FaceAlpha’, ‘LineStyle’, ‘LineWidth’, ‘EdgeColor’, ‘EdgeAlpha’, and ‘Visible.’ |
load
- load coast
显示地图元素
geoshow
- 第一个参数是ax和不是ax的区别
figure(1)
geoshow(ax, land, 'FaceColor', [0.5 0.7 0.5]);figure(2)
geoshow(land, 'FaceColor', [0.5 0.7 0.5]);
- 数据是Polygon、Point、Line
states = shaperead('usastatelo', 'UseGeoCoords', true);
faceColors = makesymbolspec('Polygon',...{'INDEX', [1 numel(states)], 'FaceColor', polcmap(numel(states))});
geoshow(ax, states, 'DisplayType', 'polygon', 'SymbolSpec', faceColors)rivers = shaperead('worldrivers', 'UseGeoCoords', true);
geoshow(rivers, 'Color', 'blue')cities = shaperead('worldcities', 'UseGeoCoords', true);
geoshow(cities, 'Marker', '.', 'Color', 'red')
- 画线——数据是以经度数组、纬度数组
ax = worldmap('USA');
load coast
geoshow(ax, lat, long,...'DisplayType', 'polygon', 'FaceColor', [.45 .60 .30])
- 画点 —— 数据是以经度数组、纬度数组
例
TowerLon = -74.0; %经度坐标
TowerLat = 40.43;%纬度坐标
%用红色标记绘制%埃菲尔铁塔
geoshow(TowerLat, TowerLon, 'Marker','.','MarkerEdgeColor','red','MarkerSize',10)
plotm 画线
h = plotm(lat,lon)
displays projected line objects on the current map axes.h = plotm(lat,lon,linetype)
where linetype is a linespec that specifies the line style.h = plotm(lat,lon,PropertyName,PropertyValue,...)
allows the specification of any number of property name/property value pairs for any properties recognized by the MATLAB line function except for XData, YData, and ZData.
格式、属性控制
makesymbolspec
construct vector symbolization specification
SYMBOLSPEC = makesymbolspec(GEOMETRY,RULE1,RULE2,...RULEN)
- GEOMETRY is one of ‘Point’, ‘MultiPoint’, ‘Line’, ‘Polygon’, or ‘Patch’
- To create a rule that applies to all features, a default rule, use the
following syntax for RULEN:
{'Default',Property1,Value1,Property2,Value2,...,PropertyN,ValueN}
- To create a rule that applies to only features that have a particular
value or range of values for a specified attribute, use the following
syntax:
{AttributeName,AttributeValue,Property1,Value1,... Property2,Value2,...,PropertyN,ValueN}
AttributeValue and ValueN can each be a two element vector, [low
high], specifying a range. If AttributeValue is a range, ValueN may
or may not be a range.
allowable values for PropertyN
type properties Lines ‘Color’, ‘LineStyle’, ‘LineWidth’, and ‘Visible.’ Points or Multipoints ‘Marker’, ‘Color’, ‘MarkerEdgeColor’,‘MarkerFaceColor’,‘MarkerSize’, and ‘Visible.’ Polygons ‘FaceColor’, ‘FaceAlpha’, ‘LineStyle’, ‘LineWidth’, ‘EdgeColor’, ‘EdgeAlpha’, and ‘Visible.’
example:
%1
blueRoads = makesymbolspec('Line',{'Default','Color',[0 0 1]});
%2
roadColors = makesymbolspec('Line',{'CLASS',2,'Color','r'},...{'CLASS',3,'Color','g'},...{'CLASS',6,'Color','b'},...{'Default','Color','k'});
%3
lineStyle = makesymbolspec('Line',{'CLASS',[1 3],'LineStyle','-.'},...{'CLASS',[4 6],'LineStyle',':'});
例二:
clear all
ax = worldmap([25 50],[-130 -65]);
states = shaperead('usastatelo.shp', 'UseGeoCoords', true);% 准备颜色数据
data = zeros(numel(states),3)
for i = 1:numel(states)data(i,:)=[1 1 1] * i/51
end% 绘制
faceColors = makesymbolspec('Polygon',{'INDEX',[1 numel(states)], 'FaceColor',data})
geoshow(ax, states,'SymbolSpec', faceColors)
% geoshow(ax, states)
结果:
setm
- 设置坐标原点 setm(ax, ‘Origin’, [20 30])
使用matlab绘制地图相关推荐
- matlab 球坐标绘图,MATLAB绘制地图
1使用向量绘制地图 1.1绘制全球海岸线 向量数据可以表示一个地图.这种向量存在的形式是一系列的经纬度或投影坐标对,它们代表一个点集.一个线条或者多边形.例如,描绘出行政区域边界的点.公路系统.城市的 ...
- 数学建模——matlab绘制 地图 散点图连线图 (运用plot、scatter、struct、xlsread等函数)【全文8000字】
因为对matlab绘图函数不熟悉,整整花了6个多小时,才终于绘制出了封面那张理想的图.
- MATLAB轻松绘制地图路线——Dijkstra(迪杰斯特拉)算法最短路径规划
文章目录 1. 地图绘制 2. 计算各节点之间的距离 3. Dijkstra(迪杰斯特拉)算法 4. 根据计算出的距离利用Dijkstra(迪杰斯特拉)算法找出指定节点之间的最短路径 工程文件(可直接 ...
- MATLAB轻松绘制地图路线——已知及未知坐标下的处理方法(1)
文章目录 已知坐标的情况 未知坐标的情况 完整工程文件下载链接: 要想绘制地图路线, 最基本的要素就是 各点的坐标,有了坐标,还要知道哪个点和哪个点相连,最后将各点相连即可: 但有时候我们有的往往只是 ...
- matlab绘制世界地图(含国界)、中国地图(含省界),可下载m_map和shp文件
matlab绘制世界地图(含国界).中国地图(含省界),可下载m_map和shp文件 1.m_map安装包下载和官方网址 2.绘制世界地图(包含国界和不含国界) 3.绘制中国地图(包含省界) 本人习惯 ...
- matlab绘制中国南海地图(九段线小图)
matlab绘制中国南海地图(九段线小图) 网上关于怎么画南海九段线小图的文章不多,在此记录一下. 绘制南海图 首先要下载中国地图的shp文件,参见上一篇文章. %------------------ ...
- Matlab绘制中国地图(大陆地区)
1 简介 MATLAB是著名的科学软件,具有绘图.编程.仿真等强大的功能.现在介绍MATLAB绘制中国地图的三种方式,分别是(1)使用m_map工具箱命令绘制中国地图:(2)使用mapshow和geo ...
- matlab经纬度画轨迹图_MATLAB绘制地图(完整资料).doc
[最新整理,下载后即可编辑] [最新整理,下载后即可编辑] 1 使用向量绘制地图 1.1 绘制全球海岸线 向量数据可以表示一个地图. 这种向量存在的形式是一系列的经 纬度或投影坐标对,它们代表一个点集 ...
- 【新星计划】MATLAB绘制图形
MATLAB绘图和图形功能,内容包括: 如何绘制二维条形图 如何绘制等值线 如何绘制三维图 MATLAB绘制条形图 MATLAB 中使用 bar 命令绘制一个二维条形图. 具体示例 如果有一个包含10 ...
最新文章
- python3环境搭建(利用Anaconda+pycharm+pytorch)
- 用户流失的事前预警与事后分析
- maven 排除pom依赖_Maven依赖排除 禁止依赖传递 取消依赖的方法
- 云原生 | 阿里巴巴的Dapr实践与探索
- 有序序列中的i个最大数(算法导论思考题9-1)
- 【软件测试】导致软件缺陷的最大原因是软件需求规格说明书
- 肺结节圆形边界光滑_肺结节读片(16):再谈肺磨玻璃结节边界的CT形态特点
- git 分支管理策略(7)
- eclipse远程调试两种模式
- Qt-5.10.1 Windows MinGW 下QwtPlot3D的编译及其示例的运行
- Java 程序设计基础知识
- tcp 握手失败_什么是三次握手,握手为何要进行三次,如果握手失败会有什么后果...
- 基于VUE和Node.js的医院挂号预约管理系统
- 使用fsck修复损坏磁盘
- java yyyy m d_JAVA SimpleDateFormat使用YYYY-MM-dd的坑
- 5G QoS控制原理专题详解-QoS控制原理(2)
- 速卖通关键词挖掘工具_利用SEO工具挖掘同行竞争对手关键词数据快速布局网站词库...
- 通过 Nginx 实现多机负载均衡
- 感谢这一年的尚不如愿,这是下一年必须努力的理由
- 用JAVA写一个简单的21点游戏(不设置庄主的情况下)