今天,带来一个Matlab中,可以在地图上(经纬度地理坐标)绘制线条的函数geoplot的使用方法,主要用于标记地图上的一些区域使用。本文主要讲解geoplot函数在Matlab中的常见用法、语法说明、地理图的创建、地理图中文本的添加、地理图上各类线条的自定义、使用图形线条属性自定义线条的外观以及更改地理图中使用的底图等方法。
下面,我们将开始详细的介绍geoplot函数的语法介绍,实例引用,结果展示。首先,我们给出 Matlab 中关于 geoplot 函数的帮助文本如下:
>> help geoplot --- gplot 的帮助 --- gplot Plot graph, as in "graph theory". gplot(A,xy) plots the graph specified by A and xy. A graph, G, is a set of nodes numbered from 1 to n, and a set of connections, or edges, between them. In order to plot G, two matrices are needed. The adjacency matrix, A, has a(i,j) nonzero if and only if node i is connected to node j. The coordinates array, xy, is an n-by-2 matrix with the position for node i in the i-th row, xy(i,:) = [x(i) y(i)]. gplot(A,xy,LineSpec) uses line type and color specified in the string LineSpec. See PLOT for possibilities. [X,Y] = gplot(A,xy) returns the NaN-punctuated vectors X and Y without actually generating a plot. These vectors can be used to generate the plot at a later time if desired. As a result, the two argument output case is only valid when xy is of type single or double.
相信各位也看到了,我的Matlab2016中使用的是gplot函数,而且用法与geoplot不太一样。因此,最好升级Matlab到2020版本,才可以使用本文中所给出的代码。
以下所有代码及代码运行结果均来自Matlab官方。
常见用法
geoplot(lat,lon) geoplot(lat,lon,LineSpec) geoplot(lat1,lon1,...,latN,lonN) geoplot(lat1,lon1,LineSpec1,...,latN,lonN,LineSpecN) geoplot(___,Name,Value) geoplot(gx,___) h = geoplot(___)
语法说明
geoplot(lat,lon) 在地理坐标区中绘制一个线条,其顶点位于 lat 和 lon 所指定的经纬度位置(以度为单位)。lat 和 lon 输入的大小必须相同。默认情况下,geoplot 使用地理坐标区对象的 ColorOrder 属性指定的颜色绘制一条不带标记的实线。
geoplot(lat,lon,LineSpec) 设置线条的线型、标记符号和颜色。
geoplot(lat1,lon1,…,latN,lonN) 将几组经纬度位置指定的图合并。
geoplot(lat1,lon1,LineSpec1,…,latN,lonN,LineSpecN) 将几组经纬度位置指定的图合并,每个线条有单独的 LineSpec。
geoplot(___,Name,Value) 使用一个或多个 Name,Value 对组参数指定图形线条的属性。
geoplot(gx,___) 在 gx 指定的地理坐标区(而不是当前坐标区)中绘图。
h = geoplot(___) 返回由图形线条对象组成的列向量。每个对象对应于一条绘制的线。使用 h 修改图形线条对象的属性。
地理图的创建
在地图上的两个点之间绘制一条直线。使用西雅图(Seattle)和安克雷奇(Anchorage)的坐标指定线的端点。以度为单位指定纬度和经度。
latSeattle = 47.62; lonSeattle = -122.33; latAnchorage = 61.20; lonAnchorage = -149.9;
在地图上绘制数据。使用线条设定 ‘g-*’ 自定义线条外观。使用 geolimits 调整地图的纬度和经度范围。
geoplot([latSeattle latAnchorage],[lonSeattle lonAnchorage],'g-*') geolimits([45 62],[-149 -123])
地理图中文本的添加
在地图上的两个点之间绘制一条直线。使用西雅图(Seattle)和安克雷奇(Anchorage)的坐标指定线的端点。以度为单位指定纬度和经度。
latSeattle = 47.62; lonSeattle = -122.33; latAnchorage = 61.20; lonAnchorage = -149.9;
使用 geoplot 绘制数据。使用线条设定 ‘g-*’ 自定义线条外观。使用 geolimits 调整地图的纬度和经度范围。
geoplot([latSeattle latAnchorage],[lonSeattle lonAnchorage],'g-*') geolimits([45 62],[-149 -123])
使用 text 函数标识安克雷奇(Anchorage)。
text(latAnchorage,lonAnchorage,'Anchorage');
使用 text 函数标识西雅图(Seattle)。通过指定 Text 对象的属性来调整文本标签的对齐。
text(latSeattle,lonSeattle,'Seattle',... 'HorizontalAlignment','right',... 'VerticalAlignment','bottom');
地理图上各类线条的自定义
指定西雅图(Seattle)、安克雷奇(Anchorage)和巴罗角(PtBarrow)的纬度和经度坐标。
latSeattle = 47.62; lonSeattle = -122.33; latAnchorage = 61.20; lonAnchorage = -149.9; latPtBarrow = 71.38; lonPtBarrow = -156.47;
绘制从西雅图到其他两个城市的直线。绘制一条从西雅图(Seattle)到安克雷奇(Anchorage)的黄色实线,再绘制一条从西雅图(Seattle)到巴罗角(PtBarrow)的蓝色虚线。使用 geolimits 调整地图的纬度和经度范围。
geoplot([latSeattle latAnchorage],[lonSeattle lonAnchorage],'y-',... [latSeattle latPtBarrow],[lonSeattle lonPtBarrow],'b:') geolimits([44 73],[-149 -123])
使用 text 函数在地图上标记每个城市。
text(latAnchorage,lonAnchorage,'Anchorage'); text(latPtBarrow,lonPtBarrow,'Point Barrow'); text(latSeattle,lonSeattle,'Seattle',... 'VerticalAlignment','bottom');
使用图形线条属性自定义线条的外观
在地图上的两个点之间绘制一条直线。使用西雅图(Seattle)和安克雷奇(Anchorage)的坐标指定线的端点。以度为单位指定纬度和经度。
latSeattle = 47.62; lonSeattle = -122.33; latAnchorage = 61.20; lonAnchorage = -149.9;
使用 geoplot 绘制数据。使用 geolimits 调整地图的纬度和经度范围。通过指定 LineWidth 和 Color 属性来自定义线条的外观。
geoplot([latSeattle latAnchorage],[lonSeattle lonAnchorage],... 'LineWidth',2,'Color',[.6 0 0]) geolimits([45 62],[-149 -123])
更改地理图中使用的底图
在地图上的两个点之间绘制一条直线。使用西雅图(Seattle)和安克雷奇(Anchorage)的坐标指定线的端点。以度为单位指定纬度和经度。
latSeattle = 47.62; lonSeattle = -122.33; latAnchorage = 61.20; lonAnchorage = -149.9;
使用 geoplot 绘制数据。使用 geolimits 调整地图的纬度和经度范围。
geoplot([latSeattle latAnchorage],[lonSeattle lonAnchorage]) geolimits([45 62],[-149 -123])
使用 geobasemap 函数更改绘图中使用的底图。
geobasemap colorterrain
转载文章,原文出处:MathWorks官网,由古哥整理发布
如若转载,请注明出处:https://iymark.com/articles/1233.html