[转]利用matlab绘制地图上的点、线、面

原文链接:https://blog.csdn.net/rumswell/article/details/16927565

一.绘制点

%生成背景地图地图

h = worldmap(‘France‘);

%读取和显示大陆架

landareas = shaperead(‘landareas.shp‘,‘UseGeoCoords‘, true);

geoshow (landareas, ‘FaceColor‘, [1 1 .5]);

%埃菲尔铁塔的坐标

TowerLon = 2.28;%经度坐标

TowerLat = 48.85;%纬度坐标

%用红色标记绘制%埃菲尔铁塔

geoshow(TowerLat, TowerLon, ‘Marker‘,‘.‘,‘MarkerEdgeColor‘,‘red‘)

%点显示             红色点

textm(TowerLat,TowerLon + 0.5, ‘Eiffel Tower‘);%放置文本

绘制的图像如下:

二.绘制线段、河流

%生成背景地图地图

worldmap world;

framem on;%set the map axes property Frame to ‘on‘ or ‘off‘. The default setting for map axes is ‘off‘.

%绘制线条

linem([15; 0; -45; -25],[-100; 0; 70; 110],‘r-‘)

linem([15; -30; -60; -65],[-100; -20; 100; 150],‘b-‘)

linem([15; 20; 40; 20],[-100; -20; 40; 50], ‘g-‘)

绘制的线条结果如下:

绘制线条在地图中是很常用的,geoshow的内部就是调用linem来绘制河流的:

clc;clear;

clf;%Clear current figure window

%生成背景地图地图

h = worldmap(‘France‘);

landareas = shaperead(‘landareas.shp‘,‘UseGeoCoords‘, true);

geoshow (landareas, ‘FaceColor‘, [1 1 .5]);

%河流数据

rivers = shaperead(‘worldrivers‘, ‘UseGeoCoords‘, true);

%rivers =   128x1 struct array(128条河流) with fields:

%   Geometry  几何结构:线型

%   BoundingBox  河流端点的经纬度

%   Lon  纬度(点集)

%   Lat  经度(与经度对应)

%   Name  名字

%显示河流

geoshow(rivers, ‘Color‘, ‘blue‘) ·

rivers(8)  %查看rivers的第八个元素的信息

绘制的图形如下:

三.绘制多边形、州

%多边形的顶点坐标

%注意:数据中多边形的初始顶点和结束顶点必须重合

x = [40 55 33 10 0  5  10 40 NaN 10 25 30 25 10 10 NaN 90 80 65 80 90 NaN];

y = [50 20 0  0  15 25 55 50 NaN 20 10 10 20 30 20 NaN 10 0  20 25 10 NaN];

mapshow(x,y,‘DisplayType‘,‘polygon‘) %可以更改‘DisplayType‘的参数,具体查看帮助

%mapshow绘制‘polygon‘,注意多边形顶点的环绕方向:

%1/顺时针为正,里面被填充->"面"

%2/逆时针为负,里面不被填充->"洞"

使用geoshow来绘制美国的地图,每个州都是一个多边形结构:view plain

figure; ax = usamap(‘conus‘);

axis off                            %不显示坐标轴

states = shaperead(‘usastatelo‘, ‘UseGeoCoords‘, true);

%states =   51x1 struct array(51个州) with fields:

%每个州都有如下属性,例如取出states(1)

%        Geometry: ‘Polygon‘      几何属性是:多边形

%     BoundingBox: [2x2 double]   最小、最大边界点的坐标

%             Lon: [1x105 double] 点的纬度

%             Lat: [1x105 double] 点的经度、这些离散点闭合组成一个州

%            Name: ‘Alabama‘      州的名称

%        LabelLat: 32.282672

%        LabelLon: -86.9206

%     PopDens2000: 87.6

indexConus = 1:numel(states);%州的数目

stateColor = [0.5 1 0.5];    %设置颜色

%画出所有的州,方法一:

geoshow(ax, states(indexConus), ‘FaceColor‘, stateColor) %更精确

%画出所有的州,方法二:

%geoshow(ax, states, ‘FaceColor‘, stateColor)

%只画出一个州

%geoshow(ax, states(1), ‘FaceColor‘, stateColor)

setm(ax, ‘Frame‘, ‘off‘, ‘Grid‘, ‘off‘,...    %Set properties of map axes and graphics objects

‘ParallelLabel‘, ‘off‘, ‘MeridianLabel‘, ‘off‘)

%平行圈                   %子午圈

绘制的图形如下:

原文地址:https://www.cnblogs.com/stxs/p/8666372.html

时间: 2024-11-05 13:04:21

[转]利用matlab绘制地图上的点、线、面的相关文章

iOS开发之在地图上绘制出你运行的轨迹

首先我们看下如何在地图上绘制曲线.在Map Kit中提供了一个叫MKPolyline的类,我们可以利用它来绘制曲线,先看个简单的例子. 使用下面代码从一个文件中读取出经纬度,然后创建一个路径:MKPolyline实例. 1 -(void) loadRoute 2 { 3 NSString* filePath = [[NSBundle mainBundle] pathForResource:@"route" ofType:@"csv"]; 4 NSString* fi

利用HTML5定位功能,实现在百度地图上定位

利用HTML5定位功能,实现在百度地图上定位 代码如下: <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>HTML5定位</title>     <script type="text/javascript" src="http://lib.sinaapp

利用HTML5定位功能,实现在百度地图上定位(转)

原文:利用HTML5定位功能,实现在百度地图上定位 代码如下: 测试浏览器:ie11定位成功率100%,Safari定位成功率97%,(add by zhj :在手机上测试(用微信内置浏览器打开),无论使用WIFI还是移动4G联网, 定位精度都是蛮高的,误差在几十米内) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>

利用WPF建立自己的3d gis软件(非axhost方式)(四)在地图上添加FrameworkElement

原文:利用WPF建立自己的3d gis软件(非axhost方式)(四)在地图上添加FrameworkElement 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt0zV0bPew 密码:1te1 地图数据包(sqlserver2008R2版本,也可以不下载):? https://pan.baidu.com/s/1PjcNamad7OVpCrsVJ7dwFQ密码:uw9r 下载 核心SDK升级包:https://pan.baidu.com/s/1Q3d

如何在地图上绘制骑行线图

常常需要标注骑行路线图,有什么方法呢? 1.使用兰图绘 2.使用"我是游客"身份进入 3.输入地图名称,然后"新建地图"->"打开地图" 4.使用"自由线" 5.在地图上标识即可. 原文地址:https://www.cnblogs.com/windel/p/9787216.html

R+大地图时代︱ leaflet/leafletCN 动态、交互式绘制地图(遍地代码图)

好久没有学习R的新包了,甚是想念啊! 昨天.今天看到两个极好.不得不学的packages+早上被AWS的服务器整得郁闷ing-于是就来点颜色看看~ 本篇受Lchiffon老师的github启发,对两个packages进行简单的试玩.leaflet是一个国外动态交互图做得很棒的网站,Lchiffon老师对其进行一些封装,适应了"中国国情",那就让我们先来看看Lchiffon的leafletCN. . . 一.leafletCN 本节主要"抄袭"Lchiffon的blo

利用MATLAB生成模式类

最近开始了模式识别的学习,在此之前需要对模式和模式类的概念有一个了解,这里使用MATLAB实现一些模式类的生成.在此之前,引用百科上对于模式识别和模式类的定义,也算加深以下了解: 模式识别(Pattern Recognition):人类在日常生活的每个环节,从事着模式识别的活动.可以说每个有正常思维的人,在他没有入睡时都在进行模式识别的活动.坐公共汽车找汽车站,骑车判别可行进道路,对观察到的现象作出判断,对听到的声音作出反应,判断东西的好与坏以及水果的成熟与否等等都是人们判断是非,判别事物的过程

模式识别:利用MATLAB生成模式类

近期開始了模式识别的学习,在此之前须要对模式和模式类的概念有一个了解,这里使用MATLAB实现一些模式类的生成.在此之前,引用百科上对于模式识别和模式类的定义.也算加深以下了解: 模式识别(Pattern Recognition):人类在日常生活的每一个环节,从事着模式识别的活动. 能够说每一个有正常思维的人,在他没有入睡时都在进行模式识别的活动. 坐公共汽车找汽车站,骑车判别可行进道路.对观察到的现象作出推断.对听到的声音作出反应,推断东西的好与坏以及水果的成熟与否等等都是人们推断是非,判别事

Matlab绘制图像及图像的处理

一 绘制函数图像 matlab平面绘制函数图像有多个函数,plot,ezplot等. 1.1 plot函数 查看matlab的帮助文件可知plot函数的调用格式有 PLOT Linear plot. PLOT(X,Y) plots vector Y versus vector X. If X or Y is a matrix,    then the vector is plotted versus the rows or columns of the matrix,    whichever