您的位置:首页 > 编程语言 > MATLAB

MATLAB地图工具箱学习总结(一)从地图投影说起

2016-04-18 19:21 477 查看
MATLAB地图工具箱学习总结(一)从地图投影说起
前言

本学期地图投影课上,李连营老师建议我们使用MATLAB完成每周的作业。从大二上学期开始接触MATLAB学习数学运算和地理数据处理的我,自然不会放过这次机会,每周找了点时间好好研究了一下,把作业比较轻松地就搞定了。不过由于网上相关的教程、资料比较少,在夹杂了多种专业词汇的同时,又没有中文翻译,也是让人感到头疼。在此想总结一下相关的函数,以帮助其他需要使用工具箱的人。作为一个学生,我所接触的仅仅是皮毛,也必然会有一些错误,希望看到的人能够指出,谢谢。

PS:本文基于MATLAB R2014a版本。

1 作业案例:地图投影作业5-7

在作业5、6、7中,李老师分别要求我们在MATLAB中画出正轴、横轴、斜轴的方位、圆柱、圆锥投影(参数自定),查阅MATLAB帮助后,在其基础上完成了作业。以等角横轴圆柱投影为例,源代码及效果如下图所示:

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

axesm ('mercator', 'Frame','on', 'Grid', 'on','origin',[0 120 0]);

geoshow(landareas,'FaceColor',[11 .5],'EdgeColor',[.6 .6 .6]);

tissot;



接下来我将详细解释一下各函数及其参数的意义和作用。

2 地图投影的分类:

(1) MATLAB中支持多种地图投影,查看具体支持哪些只需要在命令行中敲入maps,可以获得MATLAB中所有地图投影类型的分类属性(圆锥、圆柱、方位投影等),名称及MATLAB中使用时的简称。如下图:



(2) 以下是我本人翻译的部分投影类型中英文翻译对照表(未完待续)。



3 shaperead的用法

shaperead用于读取shapefile文件的数据,并将其进行存储。

(1) 基本用法:shpaeread(filename,Name,Value)

其中,filename指的是文件名,此项必设,后面可以跟多项设置。其生成一个结构体,包括Geometry几何对象,BoundingBox范围,X,Y坐标值等数据。


(2) 常用设置

1) BoundingBox:是一个2*2的数组,限定了读取文件要素的范围,只有该范围内的要素才能被选中。

2) Attributes:读取属性设置,后面跟一个字符串数组,字符串即为所要读取的属性。当设置该属性后,shapefile文件中只有被选择的属性才可以被读取出来。



3) UseGeoCoords:可以选择为true或者false(默认),即是否使用地理结构(GeoStruts)。如果数据已经被投影了就选择false,如果还未被投影,可以选择true以生成投影。

4 axesm的用法

axesm是地图工具箱中最重要、最常用的函数之一,用来定义地图的坐标系,设置地图的属性。而地图投影的类型也可以在里面进行设置和调整。

(1) 基本用法:axesm(projid,PropertyName,PropertyValue)

其中,projid指的是投影类型的简称,此项必设,后面可以跟多项属性,包括属性名称和属性值。属性分为四大类:控制地图投影的属性,控制框架的属性,控制格网的属性,控制坐标轴标签的属性。下面就一一介绍一些常用的属性。此外,也可以直接在命令行中敲入axesm手动调整部分参数。



(2) 常用属性:

1) AngleUnits:包括degrees(默认)度和radians弧度两个属性,定义角度的单位。

2) MapLatLimit[southern_limitnorthern_limit]和MapLonLimit[western_limiteastern_limit]:分别定义了经度和纬度的范围

3) Origin[latitude longitudeorientation]:定义了地图的中心区域。输入的经纬度将成为地图的中心。最后一个参数orientation则设置了地图旋转的角度。

4) Frame:包括on和off(默认)两个属性。可以定义地图的边框是否显示。

5) Grid:包括on和off(默认)两个属性。可以是否显示地图格网。

5 geoshow的用法

geoshow是用来显示地图数据的函数,非常重要,大部分的地图都使用该函数进行显示。由于其使用的方法多种多样,在此仅仅介绍一小部分和本文开始案例相关的用法。

(1) 基本用法:

1) geoshow(lat,lon)直接输入经纬度,将以该经纬度为中心,生成一小片地图。

2) geoshow(filename)直接输入地图文件名,生成该地图

3) geoshow(_,Name,Value,)输入相关属性并设定参数,生成所需要的地图。

(2) 常用属性:

1) facecolor:定义了地图表面的颜色,需要输入三个参数且均在0至1之间。

2) edgecolor:定义了海岸线边界的颜色,参数值同上。





6 tissot的用法

tissot用来显示变形椭圆。

(1) 基本用法:

1) tissot可以自动显示变形椭圆,最小椭圆大小为显示范围的十分之一。

2) tissot(radius)其中radius是最小椭圆的大小。







3) tissot(linestyle)其中linestyle是椭圆线形。

4) tissot(lineStyle,PropertyName,PropertyValue)可以设置关于线形的其他属性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: