一.绘制点
%生成背景地图地图  
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://blog.csdn.net/rumswell/article/details/16927565
 
 
 
 

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

  1. SAS学习笔记14 利用SAS绘制地图(二)

    笔记9讲过利用SAS绘制地图,这次接着讲 用中国各地(不含港澳台)的平均湿度数据来绘制地图 在地图上标出地名 宏%maplabel有9个参数,依次为:地图文件名.包含区域名称的数据集文件.输出的注释数 ...

  2. SAS学习笔记9 利用SAS绘制地图

    绘制世界地图 proc gmap过程: map=指定绘图的map数据集 data=指定地图的对应数据集 id指定map数据集和对应数据集中都有的变量,一般为各区域的代码,作为两个数据集的连接变量 分色 ...

  3. 利用Matlab快速绘制栅格地图

    代码演示 % 基于栅格地图的机器人路径规划算法 % 第1节:利用Matlab快速绘制栅格地图 clc clear close all %% 构建颜色MAP图 cmap = [1 1 1; ... % ...

  4. 利用百度API(JavaScript 版)实现在地图上绘制任一多边形,并判断给定经纬度是否在多边形范围内。以及两点间的测距功能

    权声明:本文为博主原创文章,未经博主允许不得转载. 利用百度API(JavaScript 版)实现在地图上绘制任一多边形,并判断给定经纬度是否在多边形范围内.以及两点间的测距功能. 绘制多边形(蓝色) ...

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

    首先我们看下如何在地图上绘制曲线.在Map Kit中提供了一个叫MKPolyline的类,我们可以利用它来绘制曲线,先看个简单的例子. 使用下面代码从一个文件中读取出经纬度,然后创建一个路径:MKPo ...

  6. 在谷歌地图上绘制行政区域轮廓【结合高德地图的API】

    实现思路: 1.利用高德地图行政区域API获得坐标列表 2.将坐标列表绘制在谷歌地图上[因为高德地图和国内的谷歌地图都是采用GCJ02坐标系,所有误差很小,可以不进行坐标误差转换] 注意点: 1.用百 ...

  7. 利用ps在光污染地图上寻找最近的观星地区

    城市灯光对于天文观测和天文摄影是有害的,进行这两类活动之前应提前规划地点,下面是笔者尝试的一种利用ps在光污染地图上进行规划的方法. 目前大部分的光污染地图都是基于WA 2015绘制的,可以结合VII ...

  8. 在echarts里在geojson绘制的地图上展示散点图(气泡)、线集。

    先来要实现的效果图: 下方图1是官网的案例:http://www.echartsjs.com/gallery/editor.html?c=scatter-map 下图2是展示气泡类型为pin的效果: ...

  9. 用matlab绘制中国地图

    reference:https://jingyan.baidu.com/article/870c6fc36fdacfb03ee4be58.html shp: http://muchong.com/ht ...

随机推荐

  1. 使用ganymed工具调用ssh2

    需要引入ganymed-ssh2-build210.jar包. 其实很简单.所以直接贴代码,代码说话. package com.eshore.framework.util; import java.i ...

  2. git学习(4)远程库和分支管理

    git学习(4)远程库和分支管理 1.1建立本地git库和远程库联系 我使用的是GitHub上的库,首先在GitHub上新建一个库,在建立与远程库的联系之前需要建立ssh key.建立ssh key可 ...

  3. GraphicsMagick 1.3.25 Linux安装部署

    1.安装相关依赖包 yum install -y gcc libpng libjpeg libpng-devel libjpeg-devel ghostscript libtiff libtiff-d ...

  4. MySQL初始化设置

    1 初始化数据: /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/opt/mysql/data -- ...

  5. javaScript 调用构造函数 Array() 时没有使用参数, length总是0

    如果调用构造函数 Array() 时没有使用参数,那么返回的数组为空,length 字段为 0. 当调用构造函数时只传递给它一个数字参数,该构造函数将返回具有指定个数.元素为 undefined 的数 ...

  6. Spring-ApplicationContext容器

    Spring ApplicationContext容器 ApplicationContext是spring中比较高级的容器.和BeanFactory类似,它可以加载配置文件中定义的bean,并将所有b ...

  7. 001-window下运行linux

    一.概述 前提:有条件的情况下,自行安装 在windows上模拟linux环境,主要有三种方法: 1.VMware等虚拟机,缺点:占用系统资源多,运行速度慢. 2.Cygwin等模拟环境,用windo ...

  8. spring MVC学习(一)---前端控制器

    1.spring MVC中的前段控制器就是DsipatcherServlet,它在spring MVC框架中的结构图如下: 2.DispatcherServlet其实就是一个Servlet,它继承了H ...

  9. mysql5.7新特性探究

    一.MySql5.7增加的特性 1.MySql服务方面新特性 1) 初始化方式改变 MySql5.7之前版本初始化方式: scripts/mysql_install_db MySql5.7版本初始化方 ...

  10. MySQL8.0新特性

    一.修改密码修改root密码之前要先flush privileges;ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'f ...