基于MAPX的MapInfo数据拓扑关系建立

时间:2022-05-02 12:13:08

基于MAPX的MapInfo数据拓扑关系建立

摘要:为了实现生活中各类管道的更好应用以及交通道路的管理与导航,需建立数据间的拓扑关系加以解决。本文针对路网,采用MAPX+VC编程,对节点分离、邻近道路分离及邻近道路交叉情况进行处理,实现自动断链,数据预处理及拓扑关系建立。基于MAPX建立MapInfo数据拓扑关系,该方法具有实用性,对道路导航以及管理有实际作用。

关键词:MapInfo;MAPX;路网;数据预处理;拓扑关系

中图分类号:TU47 文献标识码:A 文章编号:

1 引言

MapInfo Professional是目前世界上较为完备、功能强大、灵活而直观的桌面地图信息系统。但是其最大不足是它不具备拓扑关系的数据结构,空间分析能力较弱。

MAPX具有很多优点,但是其不足之处在于MAPX组件采用的数据结构是简单的矢量数据结构,它的数据独立存储,互相之间不含有拓扑关系,导致其空间分析的能力较弱,不利于进行网络分析,此要拓展MAPX的网络分析能力就必须先对网络数据建立拓扑关系。

对于空间拓扑关系的研究,目前大多集中于拓扑关系的形式化描述及分类方面,有些也只是对空间拓扑关系的表达模型的研究。

本文以路网为例,针对点与弧段的拓扑关系进行研究。对GIS中的拓扑关系建立方法进行归纳总结,从中采用一种方法进行拓扑关系的建立。利用VC开发平台对所采用的方法进行程序实现。对数据进行预处理,实现弧线自动断链,最后建立点线的拓扑关系。

2建立拓扑关系方案

由美国计算机图形与空间分析实验室(Laboratory for Computer Graphics and Spatial Analysis)研制的矢量数据结构POLYVRT是一种经弧段(ARC)为基础的拓扑数据结构实现这类是空间数据模型的系统主要是以Arc/Info为代表的一些专业GIS产品。

这种结构的基本元素称为“弧段”或“链段”。弧段在两个端点有结点,并伴有共享该段的左、右两个多边形的编码。弧段可以有任意多个中间节点。在POLYVRT模型中,多边形也是由弧段组成的,每个多边形通过建立一个环绕边界的弧段目录表来生成。

DIME编码又称双重独立地图编码(Dual Independent Map Encoding),它是美国人口统计局研制的用于人口分析制图的数据结构。DIME编码系统起源于人口统计,其功能并不局限于街区分析,其方法亦可推广到以点、线和面3要素组成的其它矢量数据结构系统中。

在矢量数据结构的地理信息系统中,通常用不规则多边形来描述面状地物的区域。这样,把一幅地图中许多图斑看成许多多边形,每个多边形的边界轮廓由一条或若干条线段或弧段组成,每个弧段含首尾两个结点,每个结点连结两条或两条以上的弧段。这种数据结构形成了以面、线、点3元素组成的网络数据结构,其核心是建立各元素之间的拓扑关系,为空间数据的处理和分析提供了基础。

3 MapInfo数据拓扑关系建立方法研究与实现

3.1拓扑关系建立过程分析

由拓扑关系建立的地图数据库,它们分别为Road表、Point表。表2-1显示了Road表的数据格式以及各字段的简短描述。

Point表既包括了节点和形状点的几何参数,也包含了节点与路段之间的拓扑关系,其数据格式如表2-2所示。

表2-1Road表的设计

表2-2Point表的设计

MAPX是MapInfo公司向用户提供的具有强大地图分析功能的ActiveX控件产品,它可以方便的被集成到新的或已有的应用中,同时,它提供了一个流线化的对象模型,大量的方法和事件,高效的属性页和默认值以及其它向导,来帮助简化应用开发。因此这里采用VC+MAPX控件实现道路网络拓扑关系的构建。

在MAPX中,地图按图层进行组织,相同性质的数据归为一个图层。图层中的要素称为对象,各对象间是独立的,不存在任何关系。要建立点、线、面基本元素之间的空间拓扑关系,就必须重新存储空间数据,建立自己的数据库及表结构。自动建立道路线拓扑关系算法的一般步骤为:

1)数据预处理:数据压缩(剔除冗余数据,提高计算速度)和自动断链(使整幅图图形无相交或自相交链)。

2)结点匹配:建立点、弧段关联关系。

3)追踪多边形:以左转算法或右转算法跟踪,生成多边形,建立多边形与弧段的关系。

4)多边形嵌套关系的生成,建立多边形嵌套关系树,即找出多边形包含的“岛屿”,建立多边形与多边形之间的关系。

5)具有嵌套关系多边形的关联弧段的左右面号调整及多边形内点自动生成。

由于MAPX道路图层里是按线图元存储的,常用于拓扑结构中的左右多边形标识码、弧段面积、起终方向角、高程数据等在此不必涉及,只需确定节点和弧段的关联关系。因此,只需在数据库中加入Point、Road(弧段)两个表即可,见表2-1、表2-2。

3.2空间数据提取及拓扑关系建立

对于道路数据来说,空间数据的提取包括点和线的提取,点提取包括节点和形状点的坐标提取,线提取是对弧线上节点和形状点的编号进行提取,而道路之间的拓扑关系建立则是对节点编号和线编号之间的关联关系进行处理。将提取和处理的数据结果按照一定的数据结构存入数据库,具体的数据结构见表2-1、表2-2。

每条弧段都有首末两个节点,而相邻节点之间又存在一定限差,在建立道路拓扑关系时需使用统一节点,因此需要进行节点匹配。节点匹配就是将坐标限差在一定范围内的节点合并为1个节点,并建立与那些弧段相关联的拓扑关系。

在MAPX中获取弧段的首末节点坐标很容易,因此按弧段记录的顺序将其两节点分别与前面的节点比较进行节点匹配,这样可以建立节点与弧段之间的拓扑关系。方法是将坐标相同或在限差范围之内的节点共用1个节点号,并将与该节点相连的弧段的编号进行记录。根据每条弧的首末端点建立结点。生成的结点保存在结点表中。具体操作是:对图幅中的弧逐一进行处理,判断当前弧的端点(包括起点和终点)是否与结点表中某个己生成的结点拟合,若是,则将当前弧加入到该结点的弧链表中,同时将当前弧的首结点(若起点与结点拟合)或末结点(若终点与结点拟合)置成该结点:若不存在与当前弧端点拟合的结点,则在该端点的位置上建立新结点,把新结点加入结点表中,当前弧成为新结点表中的第一条弧,同时对当前弧的首结点或末结点赋值。

4实验方案及结果

基于拓扑关系的地图匹配方法是在道路层数据建立了网络拓扑关系的基础上进行的。空间拓扑关系反映地理实体之间的相互关系,在GIS中一般表示为结点、弧段、面域三者之间的拓扑关系,网络拓扑关系则是结点和弧段之间的相互关系。

利用“数据预处理”可以将当前地图窗口中的道路数据进行检查,将其中存在的错误进行改正;“拓扑建立”可以将地图中的道路数据进行提取,并建立起相应的拓扑关系。

为了验证本文提出的拓扑关系建立的功能,利用MapInfo数据进行了实验。如图4-1所示,拓扑关系建立结果如图4-2所示。

图4-1综合情况图 图4-2拓扑关系结果

5 结束语

本文针对基于路网的拓扑关系进行了研究。通过对现有的拓扑关系建立方法的分析,利用VC和MAPX6.0编程,建立点与弧线的拓扑关系。其进行预处理,实现其自动断链。本文基于路网采用VC和MAPX进行编程,能够实现MapInfo数据的拓扑关系建立。

在建立道路网络拓扑关系时,由于其只完成了点与线之间的拓扑关系建立,并没有考虑线与线之间拓扑关系,因此在以后的研究工作中应采用一种更有效的数据模型来建立道路网络拓扑关系。

参考文献

[1] 杨海军.基于MapInfo城市供水管网拓扑关系的自动建立[D].武汉:武汉大学,2004.

[2] 罗云启,罗毅. 数字化地理信息系统MapInfo应用大全[M].北京:北京希望电子出版社,2002.4.

[3] 齐锐,屈韶林,阳琳赟.用MapX开发地理信息系统[M].北京:清华大学出版社,2003.11.

上一篇:基于FDS无通风工况下公路隧道火灾的数值模拟 下一篇:关于完善李溪拦河坝管理处的防汛管理工作的思...