77范文网 - 专业文章范例文档资料分享平台

二次开发初级培训班培训讲义(4)

来源:网络收集 时间:2019-03-29 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

规则排列的网格的过程。网格化分为规则网格化和不规则网格化,其中规则网格化是指在制图区域上构成有小长方形或正方形网眼排成矩阵式的网格的过程;不规则网格化是指直接由离散点连成的四边形或三角形网的过程。网格化主要用于绘制等值线。

光栅化:光栅化是指把矢量数据转换成栅格数据的过程。 曲线光滑:就是根据给定点列用插值法或曲线拟合法建立某一符合实际要求的连续光滑曲线的函数,使给定点满足这个函数关系,并按该函数关系用计算加密点列来完成光滑连接的过程。

结点:结点是某弧段的端点,或者是数条弧段间的交叉点。

结点平差(顶点匹配):本来是同一个结点,由于数字化误差,几条弧段在交叉处,即结点处没有闭合或吻合,留有空隙,为此将它们在交叉处的端点按照一定的匹配半径捏合起来,成为一个真正结点的过程,称为结点平差。

BUF检索:本来是靠近某一条弧段X上的几条弧段,由于数字化误差,这几条弧段在与X弧段交叉或连接处的结点没有落在X弧段上,为此将X弧段按照一定的检索深度检索其周围几条弧段的结点,若落在该深度范围内,就将这些结点落到X弧段上,从而使这些弧段靠近于X弧段,我们称这个过程为BUF检索。

缓冲区(Buffer):是绕点、线、面而建立的区域,可视为地物在一定空间范围内的延伸,任何目标所产生的缓冲区总是一些多边形,如建立以湖泊和河道500米宽的砍伐区。缓冲分析的应用包括道路的噪声缓冲区、危险设施的安全区等。

裁剪:裁剪是指将图形中的某一部分或全部按照给定多边形所圈定的边界范围提取出来进行单独处理的过程。这个给定的多边形通常称作裁剪框。在裁剪实用处理程序中,裁剪方式有内裁剪和外裁剪,其中内裁剪是指裁剪后保留裁剪框内的部分,外裁剪是指裁剪后保留裁剪框外面的部分。

属性:就是一个实体的特征,属性数据是描述真实实体特征的数据集。显示地物属性的表通常称为属性表,属性表常用来组织属性数据。

重采样:就是根据一类象元的信息内插另一类象元信息的过程。

遥感:广义上讲,遥感就是不直接接触所测量的地物或现象,远距离取得测量地物或现象的信息的技术方法。狭义而言,主要指从远距离、高空以至外层空间的平台上,利用可见光、红外、微波等探测仪器,通过摄影和扫描、信息传感、传输和处理,从而识别地面物质的性质和运动状态的现代化技术系统。

监督分类:根据样本区特征建立反射与分类值的关系,然后再推广到影像的其它位置。它以统计识别函数为理论基础。而非监督分类以集群理论为基础,自动建立规则。 网络(Network):由节点和边组成的有规则的线的集合,如道路网络、管道网络。节点是线的交叉点或线的端点,边是数据库模型中的链(即定义复杂的线或边界的坐标串),节点度是节点处边的数目。网络分析多种多样,如交通规划、航线安排等。

TIN:是由一组不规则的具有X、Y坐标和Z值的空间点建立起来的不相交的相邻三角形,包括节点、线和三角形面,用来描述表面的小面区。TIN的数据结构包括了点和它们最相邻点的拓扑关系,所以TIN不仅能高效率地产生各种各样的表面模型,而且也是十分有效的地形表示方法。TIN的模型化能力包括计算坡度、坡向、体积、表面长,决定河网和山脊线,生成泰森多边形等。

数字高程模型(DEM):即Digital Elevation Model,是数字形式的地形定量模型。

数字地形模型(DTM):即Digital Terrain Model,是数字形式表示的地表面,即区域地形的数字表示,它是由一系列地面点的X,Y位置及其相联系的高程Z所组成。这种数字形式的地形模型是为适应计算机处理而产生的,又为各种地形特征及专题属性的定量分析和不

同类型专题图的自动绘制提供了基本数据。在专题地图上,第三维Z不一定代表高程,而可代表专题地图的量测值,如地震烈度、气压值等。

地图投影(Map Projection):地图投影是按照一定的数学法则,将地球椭球面经纬网相应投影到平面上的方法。

坡度和坡向:若输入高程,则通过计算相邻象元值的差异可求得坡度;斜坡倾斜的水平方向称为坡向。

3.MAPGIS的数据管理(工作区)

3.1工作区的概念 MAPGIS数据管理的核心就是对工作区的操作。

工作区是MAPGIS提出的一个概念,简单地说,工作区就是一个数据池,存放实体的空间数据、拓扑数据、图形数据和属性数据,每个工作区都对应于一个MAPGIS数据文件。MAPGIS开发函数库提供对工作区实施操作的一系列函数,如将工作区中的内容存盘,从盘上将数据装入工作区,对工作区中内容进行添加、修改、删除、检索等等。对硬盘数据的存取及虚拟内存的管理等等复杂繁琐的工作无需应用程序的编写者去关心,而是由MAPGIS工作区管理模块自动完成。如图所示。由此可见,深入了解工作区的逻辑结构和工作区操作函数的使用,是进行成功的二次开发的关键。 3.2 .工作区管理模块的地位

工作区(空间数据、图形数据及属性数据) 工作区管理模块的地位

3.3工作区的分类 MAPGIS将工作区分为点、线、区、网、表五种类型,它们的差别主要表现在其中包含的空间实体的类型不同。详见下表:

MAPGIS应用程序 工作区API函数界面 工 作 区 管 理 模 块 工作区类型 点工作区(.WT文件) 线工作区(.WL文件) 区工作区(.WP文件) 实体类型 点(PNT) 线(LIN)、结点(NOD) 线(LIN)、结点(NOD)、区(REG) 网工作区(.WN文件) 表工作区(.WB文件)

线(LIN)、结点(NOD)、网(NET) 无空间实体,仅有表格记录 各类工作区中可以包含的实体类型

由于不同种类的工作区中空间实体的类型不同,各类型的工作区所适用的数据操作函数

也就不同。例如,对点工作区只能使用操作点实体数据的函数;而对区工作区则可对线、结

点和区实体的数据进行操作。

4.MAPGIS的空间实体及其数据组织

空间实体是MAPGIS数据操作的基本单位,在一个工作区中,一类实体可有多达2G的个体,每个个体都有唯一的序号,称为实体号(点号、线号、区号、网号、记录号等)。对实体数据的存取主要依据实体号。 每个实体在工作区中都存储有对应的空间数据、拓扑数据、图形参数及属性记录。当然,实体类型不同,上述几方面的数据就有不同的特点,见下表。 1.实体类型:点,线,区,节点,网

2.实体数据:空间数据,拓扑数据,图形数据,属性数据 3.实体数据的逻辑组织

实体类型 空间数据及拓扑数据 图形参数 PNT_INFO(字符串、点PNT 位置(x,y)D_DOT 位置(x0,y0),?,(xn,yn) 拓扑LIN_TOP 位置(x,y)D_DOT 连接的弧段(l0,l1,?,ln) 结点NOD PNT_INFO,也可没缺省属性 文本、子图、圆、弧、ID(长整型) 图象) LIN_INFO ID(长整型) 长度(浮点型) 线LIN 附加数据:连通方阵、中心数有图形参数 据、站点数据、转角数据等 ID(长整型) 区REG 区数据:边界弧段号 REG_INFO ID(长整型) 周长(浮点型) 面积(浮点型) 网NET 网数据:组成网的弧段号 NET_INFO ID(长整型) 不同类型实体的相关数据

说明:1. D_DOT是描述二维空间位置的数据结构,就是(x,y)座标对。见后边“宏定义及数据结构”。

2. 3.

LIN_INFO是描述线的拓扑关系的数据结构,主要记录线两端的结点、线两边的区等信息。见后边“宏定义及数据结构”。

PNT_INFO、LIN_INFO、REG_INFO、NET_INFO分别是描述点、线、区、网图形特征(用于显示或输出)的数据结构,其定义见后边“宏定义及数据结构”。

4. 上表中仅列出不同类实体的缺省属性域,它们是最基本的。用户可以在此基础上任意扩充

新的各种数据类型的数据域以满足自己的需要。

对每种空间实体的空间数据、拓扑数据、图形参数及属性记录,MAPGIS都提供相应的函数来实施获取、修改、删除等操作。

下面以例子来详细说明线实体、结点实体、区实体在工作区中的数据组织。

n1 n4

L1

n2

R1 R2 L3

L4 L2 n3 一个区工作区中的空间实体 图1-3给出了一个区工作区中的空间实体。在这个工作区中有四条线(线号分别用L1、L2、L3、L4表示),有四个结点(结点号分别用n1、n2、n3、n4表示),有两个区(设区号分别为R1、R2)。

1、线实体

MAPGIS中的线由多个座标点组成,线实体的空间数据就是存放在工作区中的座标点序列(D_DOT结构)。如果线L1由8个点组成,它的空间数据就如下所示:

(x0,y0)

n3

N1 0 R1 0 0 (x1,y1) ? (x7,y7) 线拓扑(LIN_TOP结构)记录线两端的结点和线两旁的区。如线L2的拓扑数据如下:

起始结点

终止结点 左区 右区

而L4的拓扑数据如下:

N4

n4 1 2 0 0 2、结点实体

结点的空间数据与点实体一样,是二维座标点,其拓扑数据记录它所连接的线,如n1的拓扑数据是:

L1

而n4的拓扑数据是:

L4

3、区实体

L2 区由线实体(在区工作区中又被称为弧段)围成,它的空间数据主要记录这些线的序号。如果线L1、L2、L3、L4的方向如图1-3所示,且所含座标点的数目分别为d1、d2、d3、d4,假设我们将顺时针方向定为R1的方向(这并不是硬性的规定,也可以将一个区的方向定为逆时针),则区R1的空间数据如下:(p137)

D1+d2+d3+d4+2 注意:

第一个单元存放的并不是线号,而是全部线的座标点数目的总和加上区边界的圈数; 边界各圈的线号用0相隔;

在数据中与区方向一致的线用正数表示,与区方向相反的线则存储线号的相反数。

4、属性记录

图1-3中各个实体对应的属性记录都具有如下结构:

偏移字节 0 1(fldEntry[0].fieldoffset) fldEntry[1].fieldoffset Flag 字段1:ID(长整型) 字段2 … 字段m L1 -L3 L2 0 L4

删除标记(0: 存在;1:已删除) 5.MAPGIS的C++类组织

MAPGIS二次开发类库是建立在MAPGIS API之上的一个类库层,用于支持基于MFC类库的面向对象的Windows程序设计。MAPGIS二次开发类库,提供了一套强有力的C++类,它屏蔽了基于MAPGIS API之上开发MAPGIS 实用程序的许多复杂性,同时仍然允许有经验的程序员使用底层的MAPGIS API功能。如何有效地使用这个类库,且看下面介绍。

CView CGisView

CGisEditView CPrjEditView 图 13-1 MAPGIS二次开发类库结构图

CGisView类继承了Visual C++的CView类,它封装了窗口管理的各种功能及操作,它管理了窗口的图形显示参数、操作状态,滚动条的位置、范围等基本窗口属性,以及放大窗口、缩小窗口、移动窗口、显示范围、显示比例、坐标转换等功能。CGisView 类还支持窗

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库二次开发初级培训班培训讲义(4)在线全文阅读。

二次开发初级培训班培训讲义(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/555315.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: