MATLAB在地理信息系统中的应用

时间:2022-04-05 11:29:25

MATLAB在地理信息系统中的应用

摘要:MATLAB是当前流行应用软件和编程语言,它集数学计算、可视化和编程于一体,易学易用。本文介绍了MATLAB软件的主要特点,阐述了Mapping工具箱的主要内容以及其在数据处理及绘图中的应用。

关键词:MATLAB;mapping工具箱;可视化

中图分类号:TP319文献标识码:A文章编号:1009-3044(2007)03-10828-02

1 MATLAB简介

Matlab是MathWorks公司推出的一款功能十分强大的工程语言,也被称为矩阵实验室(matrix laboratory),它是计算数学专家倡导并开发的,其主要功能是矩阵数值运算。Matlab作为一个科学计算平台,为数据分析处理和可视化以及程序开发提供了最核心的数值处理和高级图形工具代码。Matlab属于解释性语言,软件自身可以处理海量数据。与其他程序设计语言相比,它功能强大,可扩展性强,不同领域的专家都能以其为基础,开发相应的应用工具箱,形成开放式的利用体系。 Matlab中包括了被称作工具箱(Toolbox)的各类应用问题的求解工具。工具箱实际上是对matlab进行扩展应用的一系列matlab函数,可用来求解各类学科的问题,包括信号处理、图像处理、小波分析、自动控制、系统仿真、神经网络等。此外,它还具有方便灵活、界面友好的用户环境,已成为准确、可靠的科学计算软件的标准。

在地理信息处理方面,Matlab的Mapping工具箱同时支持对矢量和栅格地图的操作,具有地理量测、地图投影、显示等功能。下面来介绍Mapping工具箱的内容及应用。

2 Mapping工具箱

2.1 工具箱简介

随着计算机技术及信息技术的发展,地理信息系统越来越得到广泛的应用。它针对特定的应用任务,存储事物的空间数据和属性数据,同时记录事物之间的关系及演变。从而根据事物的地理坐标对其进行管理、检索、评价、分析和结果输出等,为应用提供决策支持、动态模拟、系统分析、预测预报等服务。

Mapping工具箱是matlab提供的与地理信息系统密切相关的工具箱[1],为地理信息处理提供一个使用方便、功能强大的信息处理环境。它同时支持对向量和栅格地图进行分析和操作;大量的地图投影和显示函数允许用户选择最好的显示方式;使用外部接口函数,用户可以方便地读取地理数据文件;图形用户窗口工具可以让用户通过交互,轻松完成地理信息处理。概括地说,Mapping工具箱具有如下5个主要特点。

(1)地理信息分析与操纵。Mapping工具箱提供了大量的分析函数,支持对向量或者栅格地图地操作地分析与操作。同时与其他工具箱如图像处理、统计分析工具箱结合使用,可以对地理数据进行更专业地分析与处理。

(2)多种地图投影方式。地图投影是地图显示地基础,Mapping工具箱提供的多种投影方 式可以让用户根据自己的需要任意选择或者定制。

(3)功能强大的地图显示。对于向量数据,Mapping工具箱可以进行二维或三维的等高线绘制,地表绘制及光照表面绘制;同时还支持诸如向量场绘制、条形绘制等各种专题绘制。

(4)Atlas及其它地图数据。Mapping工具箱本身带有全球及美国地一些向量或栅格地图数据,地理数据的结构化表简化了地图及atlas数据显示、操作和提取。同时,对于较流行地地理数据文件格式,Mapping工具箱提供了外部接口函数。通过这些接口函数,用户可以方便地读入这些文件数据。

2.2 常用绘图函数

axesm: 创建地图坐标系[2];

格式: axesm(Property Name,Property Value,…);

plotm: 投影二维直线到当前的地图坐标系;

格式: plotm(lat,lon);

surfm: 投影数据网格到当前的地图坐标系;

格式: h = surfm(lat,lon,map)

nanm: 构造空矩阵[3];

格式: [map,maplegend]=nanm(latlim,lonlim,scale);

meshgrat: 生成纬线和经线网格,讲规格数据网格转会为地理定位网格;

格式: [latgrat,longrat]=meshgrat(map,maplegend);

imbed: 把数据插入到规则的栅格矩阵中;

格式: newmap=imbedm(lat,lon,value,map,maplegend);

[newmap,badindx]=imbedm(lat,lon,value,map,maplegend,units);

其中,lat,lon可以是插入的具体的经纬度坐标,也可以是一个范围,value是插入的值,map,maplegend是未插入数据前的地图。

contourm: 绘制地图数据的等值线图;

格式: contourm(lat,lon,Z);

3 MATLAB应用实例

在地球物理领域中,经常用采集的数据反演地球某一区域的内部结构和物质性质等。本文以一个三列的矩阵moho.dat为例说明mapping工具箱在地理信息系统中的应用。moho.dat如表1所示,程序代码如下:

data=importdata('D:\moho.dat');

%定义地图属性

axesm('globe', 'Grid', 'on', 'Gcolor', [0.5 0.5 0.5], 'GlineStyle', '-');

%绘出全球海岸线

plotm(coast,'k');

lat=data(:,2);lon=data(:,1);

%构造空矩阵

[map,maplegend]=nanm([min(lat)-2,max(lat)…], [min(lon)-2,max(lon)],0.5);

%构造地图

map=imbedm(lat,lon,data(:,3),map,maplegend);

%map网格化

[lat,lon]=meshgrat(map,maplegend);

surfm(lat,lon,map);

shading interp;

view([180,10]);

hidem(gca);colorbar

%等值线图

axesm('mercator', MLabelparallel', 'south', 'mapLonLimit', [0 180],' mapLatLimit' ,[-10 80]);

mlabel;plabel;grid on;

meshm(map,maplegend,size(map));

shading interp

%绘等值线

colormapeditor命令调整色标轴得到图1。

图1 厚度分布图

[C,h] = contourm(map,maplegend,'k');

%标注等值线值

clabelm(C,h);

调整色标轴得到图2。

图2 等值线图

4 结束语

Matlab是一个开发性的软件包,功能强大也非常容易学习和使用,作为一种优秀的程序设计工具,在处理数据中表现出了高效、简单和直观的特点,在数据计算和可视化功能非常适用于解决地理信息系统中的数据处理问题。

参考文献:

[1]魏巍. MATLAB信息工程工具箱技术手册[M]. 北京:国防工业出版社,2004,403-443.

[2]曾文华,钭春红. MATLAB在地理信息系统中的应用[M]. 计算机应用,2002,22(5):91.

[3]Mapping Toolbox User's Guide. .

本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

上一篇:删除Excel空行我有妙招 下一篇:优化!让老显卡焕发青春