表3-3线数据文件
(3)土壤类别名称数据文件:包括所有土壤类别名称及水域,每一名称放在这一类的多边形的区域中,并设置一个标号点(或叫种子点),以便恢复时确定每一多边形的属性。这里,每一记录不超过28个字符,格式如表3-4,共k个多边形。
表3-4土壤类别名称数据文件
这种编码主要目的是提供数据资料,基本上没有考虑独立的多边形,因而在GIS中查询、检索比较困难。
(三)拓扑结构编码方法
多边形内嵌套多边形即“洞”和邻域关系问题的唯一解决办法是拓扑关系直接应用到数据结构中。建立拓扑结构的方法有两种:①输入数据的同时输入拓扑连结关系;②由计算机软件从一系列相互关联的链建立拓扑结构。前者会增加操作员的工作量,后者则取决于计算机的处理能力。二者都增加存储量。首先在地理数据结构中建立拓扑关系是美国人口调查局建立的双重独立地图编码系统。又可简称DIME(Dual Independent Map Encoding)。DIME建立城市街道网和统计单位如街区、人口统计区等的数据库,并实现自动和半自动的编辑和分析。也可以用于土地利用等多种信息系统的编辑和分析。DIME数据文件的基本元素是由始末点定义的简单线元素,复杂的曲线则有许多这种线元素组成。每条线元素有两个指向结点指针和线元素两边多边形的编码。由于这种数据结构中没有链反向结点及链指向邻近链的指针,因此要花很多时间去查找组织多边形的各条边界线。
此外,简单线元素结构法使复杂曲线的处理十分不便,因为有大量的多余数据同时存储于数据库中。
荷兰土地调查研究院发展了另一种简单而有效的多边形数据结构,并能在小型计算机上处理多边形数据组的分配问题。基本方法是:地图上的多边形以线段或链文件的形式存储,该文件中每条链又以组成该链的各坐标对来列表存储,而且每条链还包括两个指向邻接多边形的指针。多边形的名称存储在另一个独立文件中,该文件实际上是一个表格,也包括一些指针。这种数据结构不能进行更为复杂的邻城关系的搜索,也不能检查奇异多边形和“死点”等差错。只有完整的拓扑结构数据库才能处理这类问题。
为了建立恰当的拓扑多边形数据结构,使“岛屿多边形”、面积计算、邻城关系处理、奇异多边形和“死点”检查等都能顺利处理,必须建立数据结构。许多实验性和生产性的制图系统都要求在数字化的同时在数据库中建立拓扑联结关系,而且常常要求用户按顺时针方向或逆时针方向数字化所有的多边形,以便把线元素与其左右两边的多形组合起来。另外还要求用户用数字化图中的虚线把“岛屿”和它们周围的“湖泊”连接起来。
下面讨论如何从一系列按任意顺序和任意方向数字化的链,组成完整拓扑多边形网络结构的数据组织方法。这种数据结构能够处理湖和岛屿在任何一级多边形网络中的嵌套问题,能检查奇异多边形和“死点”,能自动或半自动地将非空间属性数据与多边形连接起来,并全面支持邻域关系的搜索等。
前面讨论过的简单多边形数据结构经常要求数据输入方法必须满足数据结构要求,从而给数据输入和数据结构优化处理带来一些问题。因此,把数据输入和数据结构分成两个单独的处理过程是更加有效的方法。为了建立这样的数据结构,只需对数据输入作两种假设:①多边形边界已按链或弧编码;②用以连接图形数据与属性数据的多边形名称则以每个多边形内某处可识别的点实体的形式数字化。在这种假设条件下,组成完整拓扑多边形数据结构的步骤如下:
1.将链连接成边界网络:首先按链的尺度(最大最小x,y坐标)存储多边形的链,使各条链能按拓扑关系彼此集中在一起,同时在数据文件中存储在一起,从而节省查找相邻链的时间。然后对这些链进行检查,看哪些其它链与它们相交,把各交点存储在组成这些点的所有链的后面,并把链的数据记录延长以包括指针和角度。
本文标题:矢量数据结构(3)
手机页面:http://m.dljs.net/dlsk/gis/4766.html
本文地址:http://www.dljs.net/dlsk/gis/4766.html