MATLAB在地理信息系统中的应用.pdf_第1页
MATLAB在地理信息系统中的应用.pdf_第2页
MATLAB在地理信息系统中的应用.pdf_第3页
MATLAB在地理信息系统中的应用.pdf_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

收稿日期 2001211207 作者简介 曾文华 1976 男 浙江建德人 工程师 主要研究方向 GIS 地图学 钭春红 1973 男 浙江建德人 助理工程师 主要研究 方向 GIS 三维动态可视化 地图学 文章编号 1001 9081 2002 05 0091 03 MAT LAB在地理信息系统中的应用 曾文华1 钭春红2 1 浙江省第一测绘院 地理信息和航测遥感分院 浙江 杭州310012 2 浙江省水利水电勘测设计院 测绘分院 浙江 杭州310002 摘 要 从介绍MAT LAB强大的数值计算功能和数据可视化功能着手 分析了MAT LAB中与地理 信息系统 GIS 有关的技术 重点阐述了MAT LAB在地理三维地貌重现 水下地形分析两方面的应用 为地理信息系统开发和建设引入一些新的思路 关键词 MAT LAB 工具箱 可视化 DEM 水下地形 冲淤分析 中图分类号 TP391 41 文献标识码 A 1 MAT LAB概述 1 1 强大的数值计算与符号计算功能 数学计算是MAT LAB最基本的功能 包括数值计算和符 号计算 数值计算以矩阵为基础 一个实数就是一个1 1 的矩阵 它提供数组运算 包括子数组查找 数组大小 数组 翻转 三角提取 对角提取 矩阵运算 包括特殊矩阵生成 特 征向量和特征值 稀疏矩阵等 符号计算包括微积分 线性代 数运算 表达式的简化 表达式的运算等 1 2 强大的科学数据可视化能力 MAT LAB能够将计算的结果以二维 三维 乃至四维的图 形表现出来 并且可以通过对图形线性 立面 色彩 渲染 光 线 视角等特性的处理 把计算结果表现得淋漓尽致 1 3 M文件程序设计简介 函数是MAT LAB运算的基础 MAT LAB通过两种方式提 供给用户 一种是内部函数 直接内置于MAT LAB核心中 执 行效率很高 另一种就是以M文件形式提供的函数 M文件 以文本形式存储在计算机上 提供一个简单的扩展MAT LAB 功能的方法 下面以fliplr m文件为例介绍M文件的结构 Function y fliplr x fliplr函数功能 调换矩阵中元素的左右位置 x 1 2 3变成3 2 1 4 5 6 6 5 4 参考 FLIPUD ROT90 m n size x y x n 1 1 真正的函数体只有最后两句 第一句是函数头 其它是注 释 建立M文件必须注意以下几点 1 函数名和文件名必须相同 例如函数fliplr存储在名为 fliplr m的文件中 2 函数可以有零个或多个输入参数 零个或多个输出参 数 3 为注释标志 1 4 多种高效的开发方式 除了本身提供的编程语言和编程环境 MAT LAB及其相 关开发商还提供一系列的应用程序接口 API 方便同其它高 级语言进行交互 根 据www mathworks com资 料 显 示 MAT LAB可以与C VC C Builder Fortran VB Excel等 高级语言 集成编辑环境 应用程序进行数据和功能的互动 2 map和image工具箱简介 工具箱 toolbox 是MAT LAB扩展自身功能的开放式的开 发模式 map和image是MAT LAB提供的两个与地理信息系 统密切相关的工具箱 下面就对它们进行简单的介绍 2 1 map工具箱 map工具箱针对经纬度记录的以度分秒为单位的系列矩 阵 提供丰富的地图投影 网格系统 专题地图制作和地图输 出功能 Map工具箱把地图分为三种类型 矢量地图 Vector Maps 把地理实体的位置信息用一系 列的经纬度的坐标对来表达 lat 45 6 23 4 78 NaN 42 1 67 1 90 89 lon 13 97 45 165 NaN 0 114 2 18 0 上面两个矩阵构成一组坐标对 NaN进行实体的分割 这 组坐标对包含两个目标 通过矢量地图可以求解距离 定义 区域 区域交差并运算 压缩数据等 栅格地图 Matrix Maps 分为规则栅格数据和一般栅格 数据 规则栅格数据 数据严格的从南到北 从西到东 矩阵 中每个栅格单元都是按相同的步长和方向排列的 格网 DEM数据可以看作是规则栅格地图 存储在地图上的每个单 元的值是这点的高程 规则栅格地图是一般栅格地图的一个 子集 一个一般栅格地图由多个规则栅格地图组成 分布在同 一个经纬度坐标系中 矢栅混合地图 Composite Maps 将矢量地图和栅格地图 的操作和功能集成在一起 2 2 image工具箱 image工具箱由一系列支持图像处理操作的函数组成 所 支持的图像处理操作有 几何操作 区域操作和块操作 线性 滤波和滤波器设计 变换 DCT变换 图像分析和增强 二值 图像操作等 和其它工具包一样 用户还可以根据需要书写 第22卷第5期 2002年5月 计算机应用 Computer Applications Vol 22 No 5 May 2002 1995 2004 Tsinghua Tongfang Optical Disc Co Ltd All rights reserved 自己的函数 以满足特定的需要 也可以将这个工具包和信 号处理或小波等其它工具包联合起来使用 在遥感 RS 相 片分析处理中 image工具箱有很大的利用价值 3 MAT LAB应用地理三维地貌可视化和分析 3 1 DEM数据的准备 本文以数字高程模型 DEM 为例介绍应用MAT LAB进行 三维地貌的可视化 以下是一个典型的DEM文件结构 NSDTF DEM 格式版本 1 0 版本号 M 单位 0 0 0 0 371675 000 起点的行坐标 3289775 000 起点的列坐标 12 500 每格网的宽度 12 500 每格网的高度 578 每行的列数 692 每列的行数 100 保证数据小数两位有效位和整数保存的便捷性 记录为实际数据 100 以下为记录高程数据 99999 99999 20554 19862 19453 19807 20465 21026 21753 22192 把文件头读入相应的变量中 读取高程数据用下面的语 句 z count fscanf fid1 i 692 578 fid1为打开DEM文件返回的文件号 i 表示读取整数 数组大小为692 578 返回值存储在z中 如果读文件无误 count的值应为692 578 高程数据中有许多 99999的数据 这些数据表示这点的 高程值没有记录 实际的显示 分析和应用不需要这些数据 下面为实现语句 z find z 99999 NaN 再通过z z 100 得到实际的高程值 根据需要 还可以对数据拟合和插值处理 MAT LAB中 函数polyfit求解最小二乘曲线的拟合问题 interp1进行一维 插值 interp2进行二维插值 在三维地貌的显示中 interp2 x y z xi yi method 可以对粗糙的地面插值光滑 3 2 数据的抽稀 合并和筛选 DEM数据和其它地图数据一样 一般是分幅存储的 多 数应用需要一个以上的图幅 而且在显示数据的时候 要根据 屏幕大小或打印机输出尺寸 调整输出数据的大小 可以通 过MAT LAB中对矩阵的抽稀 合并和筛选来解决以上问题 合并针对多个矩阵 可以全部合并 也可以部分合并 下 面以两个矩阵为例 A 123 456 789 B 789 101112 131415 返回A B的并集C A B 123789 456101112 789131415 也可以部分取值再合并 如返回A的全部和B的1 2列 的并集 C A B 1 2 12378 4561011 7891314 抽稀算式应用到DEM数据中 可以建立分级显示机制 等同与三维显示中的显示细节LOD 下面是例子 B 12345 678910 1112131415 1617181920 B是一个4 5的矩阵 A B 1 2 得到B的前两行 即 A 12345 678910 A B 1 2 4 1 2 5 对B隔行隔列取值 即 A 135 111315 3 3 数据的三维表达 许多GIS都提供专业的三维分析功能 但使用和支持开 发功能很弱 在MAT LAB中分析三维数据 不但提供的现成 函数很多 而且其灵活运用矩阵运算的方法 可以实现许多其 他软件无法实现的功能 以下是一系列绘制三维图形的函 数 带有基本等值线的网格图meshc x y z 曲面图surf x y z 色彩平滑shading flat interp 带等值线的曲面图surfc x y z 带亮度的曲面图surfl x y z 图1 一幅1 10000 DEM渲染图 计算其坡度方向线 坡度大小 dx dy gradient z 0 5 0 5 计算坡度方向线和坡度大小 contour x y z 10 绘制等高线 hold on quiver x y dx dy 绘制坡度线 hold off 图2为显示结果 三维地貌可视化中除了矩形格网 最常见的是三角网 MAT LAB中提供delaunay三角网生成方法如下 load seamount tri delaunay y x h trisurf tri y x z 首先从seamount mat装载数据到x y z三个1 n的一维 矩阵 也可以自己输入起算数据 29 计算机应用2002年 1995 2004 Tsinghua Tongfang Optical Disc Co Ltd All rights reserved 第二步根据x y生成delaunay三角形 返回三角形数据 第三步显示三维的三角网模型 图2 3 4 图形操作 MAT LAB不但提供非常方便的绘图功能和强大的图形图 像处理能力 而且提供增强的交互处理能力 颜色映射 线 形 标记 颜色 图例 坐标轴 多窗口制图根据用户要求都可 以定制 三维图形可以缩放 旋转和改变视角 句柄图形是一种面向对象的图形系统概念 图的每一个 组成部分是一个对象 每一个对象有一系列句柄和它相关 每 一个对象有可以设置和改变的属性 MAT LAB中的每一个图 形都可视为对象 通过gcf gca gco gcbo gcbf findobj等函数获 取图形对象的句柄 get获取指定对象的属性值 set设置对象 的属性值 通过以上函数的配合使用 MAT LAB可以灵活地 进行面向对象的图形编程和控制 4 MAT LAB应用水下地形分析 4 1 水下地形数据的分析 研究河流的变化在水利 防灾 农业 航运领域有积极的 意义 水下地形是河流信息的组成部分 流水对河床的冲刷 是渐变的 缓慢的 短时间内区域不变的 随着水下测量的发 展和测量数据的经年积累 分析水下地形有了良好的数据基 础 将历年的数据利用GIS分析 研究其随时间的变化规律 有一定的现实意义 作者的做法是先在MapInfo中数字化水 下地形图 通过Arc Info或其它工具生成三维文件 最后在 MAT LAB中进行各种分析 4 2 水下地形的冲淤等值线的生成 河流的深度等值线 等深线 记录了水下地形的基本面 貌 水下地形的变化反映为等深线上有深度值的变化和水域 范围的改变 不同年代的水下地形图存放在不同的文件中 在MAT LAB中 通过下列的方法 可以深入的分析和制图 contour3 x y z 16 用于生成16根三维等值线 等高距和首曲线的大小根 据z的最值计算出来 cs contour3 x y z 16 clabel cs 通过contour3求出等值线的标注内容和值 clabel标注等 高线的高程值 z z1 z2 冲淤的计算式十分简单 许多其他语言中要多行语句才 能表达的算法 在MAT LAB中只需要一个命令 surf x y z 绘制水下地形三维表面图 v z 3cellsize 冲淤体积计算 挖方 填方计算 先求出单元大小 和高 程矩阵中所有的高程值作乘法运算 即为计算体积 两个不 同年代的体积的差即得出冲淤的体积变化 contour3 x y z 绘制冲淤等值线 可以明显分辨出冲和淤的位置和深度 图3 1993年1月水下地形分层设色等高线图 图4 1993年4月水下地形分层设色等高线图 图5 1993年1月与1993年4月的冲淤分析图 4 3 冲淤动画 MAT LAB可以存储一系列各种类型的二维或三维图 然 后像放电影一样把它们按次序重放出来 这在某种意义上为 图形增加了另一个维数 一种明显的动画类型是取出三维图 形然后缓慢地将它旋转 这样就可以从不同角度观察它 另 一种类型是当一个参数变化时 依次显示某些问题解的图形 MAT LAB中的函数moviein getframe和movie提供了捕捉和播 放动画所需的工具 生成水下地形的冲淤动画的一般顺序 是 1 创建帧矩阵 m moviein 15 15帧 2 对动画中的每一帧图像进行快照 并把它捕捉到帧矩 阵 生成不同时间的流域图像 m i getframe 把图形加到帧矩阵 3 从帧矩阵中回放 movie m 39第5期曾文华等 MAT LAB在地理信息系统中的应用 1995 2004 Tsinghua Tongfang Optical Disc Co Ltd All rights reserved 文章编号 1001 9081 2002 05 0094 02 屏幕文本的语音合成 杨鸿武1 蔡莲红2 陶建华2 1 西北师范大学 物理与电子工程学院 甘肃 兰州730070 2 清华大学 计算机系 北京100084 摘 要 介绍了计算机语音合成系统的原理和Win32 API截获技术的实现方法 并利用Win32 API截获技术和清华大学SinoSonic系统实现了一个桌面文本的语音输出系统 用它可以语音合成桌 面上鼠标指针下的任意文本 关键词 TTS API截获技术 语音合成 中图分类号 TP391 1 文献标识码 A 1 引言 计算机语音合成系统又称文语转换系统 TTS 系统 它 的主要功能是将计算机中任意出现的文字 转换成自然流畅 的语音输出 目前 语音合成系统已经较为成熟并已大量应 用在不同场合 TTS系统采用的技术有基于参数合成和基于 波形拼接合成两种 基于波形拼接的语音合成系统包括三个 主要组成部份 文本分析模块 韵律生成模块和声学模块 文 本分析模块主要处理输入文本 获得文本的语境参数 产生文 本的语音学表示 韵律生成模块决定最终系统能够用来进行 声信号合成的具体韵律参数 声学模块则根据文本分析的结 果从语音数据库中选出相应的语音基元 由韵律生成模块修 正后 产生合成语音的输出 其系统结构如图1所示 图1 TTS系统框图 API截获技术是指在程序运行期间 用一条无条件分支 语句来替换Windows系统要调用的Win32 API函数的前几条 指令 使得Windows系统对原API函数的调用转向到用户自 己的函数 从而改变原API函数的功能 也就是说 利用API 截获技术 我们可以用一个新的函数部分或全部替换Windows API函数 从而在不改动Windows操作系统的情况下 增强或 改变Windows操作系统的部分功能 由于对API函数的修改 是程序运行时在内存中动态完成的 所以我们可以在某个特 定的应用程序中截获API而不影响其它应用程序对该API函 数的调用 在Windows系统中 屏幕文本的输出是由G UI中 的几个文本输出API函数来完成的 所以 我们通过截获这几 个API函数 就可以获得Windows系统向屏幕输出的文本内 容 将这些文本内容取出来后 通过语音合成系统 就可以将 其转换成自然流畅的语音输出 即让计算机读出屏幕上的任 意文本 使人机交互变得简单 2 API函数的截获方法 要截获Win32 API函数 首先应取得API函数的地址 然 后将API函数的前5个字节用一条JMP指令替换 JMP 指令 需5个字节 JMP指令跳转到用户定义的截获函数 API函 数的前5个字节指令则保存在一个跳转表中 跳转表由API 函数中移出的前5个字节指令和一条JMP指令组成 该JMP 指令跳转到API函数的剩余部分 在没有截获时 Windows系统直接调用API函数 当截获 了API函数后 由于API函数的前5个字节已经被JMP指令 替换 所以当Win

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论