矢量数据结构是另一种最常见的图形数据结构,即通过记录坐标的方式,尽可能地将点、线、面地理实体表现得精确无误。其坐标空间假定为连续空间,不必象栅格数据结构那样进行量化处理。因此矢量数据能更精确地定义位置、长度和大小。实际上,因如下原因也不可能绝对精确:①表示坐标的计算机字长有限;②所有矢量输出设备包括绘图仪在内,尽管分辨率比栅格设备高,但也有一定的步长;③矢量法输入时曲线上选取的点不可能太多;④数字化仪分辨率也有限。⑤人工输图中不可避免的定位误差。
除数学上的精确坐标假设外,矢量数据存储是以隐式关系以最小的存储空间存储复杂的数据。当然这只是相对而言的,在地理信息系统中没有绝对“最好”的方法。
一、矢量数据结构编码的基本内容
(一)点实体
点实体包括由单独一对x,y坐标定位的一切地理或制图实体。在矢量数据结构中,除点实体的x,y坐标外还应存储其它一些与点实体有关的数据来描述点实体的类型、制图符号和显示要求等。点是空间上不可再分的地理实体,可以是具体的也可以是抽象的,如地物点、文本位置点或线段网络的结点等,如果点是一个与其它信息无关的符号,则记录时应包括符号类型、大小、方向等有关信息;如果点是文本实体,记录的数据应包括字符大小、字体、排列方式、比例、方向以及与其它非图形属性的联系方式等信息。对其它类型的点实体也应做相应的处理。图3-13说明点实体的矢量数据结构的一种组织方式。
(二)线实体
线实体可以定义为直线元素组成的各种线性要素,直线元素由两对以上的x,y坐标定义。最简单的线实体只存储它的起止点坐标、属性、显示符等有关数据。例如,线实体输出时可能用实线或虚线描绘,这类信息属符号信息,它说明线实体的输出方式。虽然线实体并不是以虚线存储,仍可用虚线输出。
弧、链是n个坐标对的集合,这些坐标可以描述任何连续而又复杂的曲线。组成曲线的线元素越短,x,y坐标数量越多,就越逼近于一条复杂曲线。既要节省存储空间,又要求较为精确地描绘曲线,唯一的办法是增加数据处理工作量。亦即在线实体的纪录中加入一个指示字,当起动显示程序时,这个指示字告诉程序:需要数学内插函数(例如样条函数)加密数据点且与原来的点匹配。于是能在输出设备上得到较精确的曲线。不过,数据内播工作却增加了。弧和链的存储记录中也要加入线的符号类型等信息。
线的网络结构。简单的线或链携带彼此互相连接的空间信息,而这种连接信息又是供排水网和道路网分析中必不可少的信息。因此要在数据结构中建立指针系统才能让计算机在复杂的线网结构中逐线跟踪每一条线。指针的建立要以结点为基础。如建立水网中每条支流之间连接关系时必须使用这种指针系统。指针系统包括结点指向线的指针。每条从结点出发的线汇于结点处的角度等,从而完整地定义线网络的拓扑关系。
如上所述,线实体主要用来表示线状地物(公路、水系、山脊线)、符号线和多边形边界,有时也称为“弧”、“链”、“串”等,其矢量编码包括以下内容:
其中唯一标识是系统排列序号:线标识码可以标识线的类型;起始点和终止点可以用点号或直接用坐标表示;显示信息是显示时的文本或符号等;与线相联的非几何属性可以直接存储于线文件中,也可单独存储,而由标识码联接查找。
(三)面实体
多边形(有时称为区域)数据是描述地理空间信息的最重要的一类数据。在区域实体中,具有名称属性和分类属性的,多用多边形表示,如行政区、土地类型、植被分布等;具有标量属性的有时也用等值线描述(如地形、降雨量等)。
多边形矢量编码,不但要表示位置和属性,更重要的是能表达区域的拓扑特征,如形状、邻域和层次结构等,以便恢复这些基本的空间单元可以作为专题图的资料进行显示和操作,由于要表达的信息十分丰富,基于多边形的运算多而复杂,因此多边形矢量编码比点和线实体的矢量编码要复杂得多,也更为重要。
本文标题:矢量数据结构
手机页面:http://m.dljs.net/dlsk/gis/4766.html
本文地址:http://www.dljs.net/dlsk/gis/4766.html