基于GISDK路网拓扑结构的构建与应用

2016-09-21 09:11尹旭日
军事交通学院学报 2016年8期
关键词:连通性线图路网

尹旭日

(蚌埠汽车士官学校 运输勤务系,安徽 蚌埠 233011)



基于GISDK路网拓扑结构的构建与应用

尹旭日

(蚌埠汽车士官学校 运输勤务系,安徽 蚌埠 233011)

为解决将其他格式的地理文件导入TransCAD中构建路网后存在的连通性问题,在总结路网中虚连接常见类型的基础上,设计和实现了基于GISDK的路网虚连接的修正方法。利用GISDK编程在修正后的路网上进行最短路径应用分析,验证了所提出方法的有效性。

GISDK;拓扑结构;连通性;最短路分析

TransCAD作为广泛使用的主流交通规划软件,不仅提供了强大的表格处理和路网分析能力,而且为用户提供了GISDK(geographic information system developer’s kit,GISDK)二次开发工具。用户编写基于GISDK应用程序,就可以利用其强大的数据处理和图形分析功能,高效开发满足各种要求的GIS应用系统。GIS应用系统绝大部分功能基本上是建立在地理对象的空间位置相互关系之上的,因此,空间实体之间的拓扑结构关系是GIS进行空间分析和决策的基础之一,其是否具有高效、可靠的拓扑处理功能已成为衡量GIS应用软件的重要标准。

TransCAD支持ESRI Shapefiles和MapInfo TAB格式的地理文件,而MapInfo格式的地理文件由于使用广泛而大量存在于各种科学研究和工程应用领域,容易查找并能直接使用。但是,将MapInfo格式地理文件导入到 TransCAD的过程中,由于数据兼容性问题,常会产生道路与节点间的虚连接问题,这不仅直接影响了道路拓扑结构的正确构建,而且导致后续路网分析应用的有效性。

GISDK作为功能强大的宏汇编语言,已在城市公交线网优化、OD数据合成、路网规划方案确定、功能优化以及期望交通量显示等方面得到了应用[1-4]。根据查新报告显示,目前尚无基于GISDK完成对MapInfo TAB格式的地理文件拓扑结构构建与应用的相关报道。因此,怎样使用GISDK对MapInfo格式地理数据文件导入TransCAD时引起的路网失真进行修复,完成路网拓扑结构的正确构建,充分发挥应用系统的运行效率,是值得深入研究与探讨的问题。

1 问题分析

在TransCAD中,使用其自带的地理文件编辑工具,可以绘制简单的地图,例如交通小区等,通常在绘制完毕后,系统能进行一些必要的校正工作,确保路网的连通性,以完成路网拓扑结构的正确构建。但是,对于一个大的区域,例如一个省、一个战区或者全国等,通过手工绘制不仅费时费力,而且存在不精确的问题。对于大范围的交通路网分析,通常的方法是将现有的该区域的地理文件导入到TransCAD中,然后进行路网拓扑结构的构建与分析。以MapInfo格式地理文件导入TransCAD为例,其具体步骤: 首先,打开MapInfo地图中的地区面层的tab文件;其次,使用Selection工具,选择待分析区域内的道路;最后,使用Export工具,选择标准地理文件格式(*.dbd),保存为TransCAD的地理文件。但是,将地理文件导入到 TransCAD中,由于数据兼容性问题,常会产生虚连接问题,造成路网失真,不能顺利进行后续的路网分析。

路网失真表现为存在悬挂节点(节点不重合、未及、过伸)、伪节点、碎屑多边形等,通常称为虚连接。通过实践分析,发现地理文件导入到 TransCAD时的虚连接主要有4种形式(如图1所示)。图1(a)为两条道路实际上是以分支形式相连的,但导入后出现了分离。图1 (b)为两条道路实际上是交叉形式相连的,但导入后出现了分离。图1 (c)为几条道路是以星状形式相连的,但导入后出现了分离。这3种情况的共同点是道路节点与实际连接点出现偏差,偏距大于零。在实际工程实践中还发现另外一种情况,图1(d)表面看上去两条道路连接完好,但在利用TransCAD自带的连通性检查工具检查时,发现实际上道路是不连通的,利用GISDK编程计算道路节点与交叉点的距离,发现其偏距为零。

图1 路网虚连接的几种常见形式

2 基于GISDK路网拓扑结构构建

路网拓扑结构由若干节点以及节点之间的弧(边)构成,并且这些弧(边)的长度已知。在道路拓扑结构的基础上,可以应用一些具体算法来进行路网的分析,例如最短路问题、旅行商问题和物流配送等问题。在道路图层中的道路与实际道路连通性一致的前提下,通过GISDK提供的相关函数,根据实际图层中道路的连接关系与属性数据,自动生成网路文件(*.net),以其为基础,完成各种路网计算分析。在构建过程中,最关键的是确保道路图层中的道路与实际道路连通性一致,即避免虚连接问题。

2.1虚连接的判断

通过常见虚连接情况分析,发现虚连接均发生在节点上,因此只需逐一判别节点是否存在虚连接即可,而一个节点是否存在虚连接问题,关键是看其与道路图层上的其他道路的最短距离是否小于连接阀值。当距离小于等于连接阀值时,认为该节点存在虚连接的可能;否则,认为该节点是正常连接。

对于连接阀值的设置,要根据具体地理文件的制作精度而定。通常,连接阀值不易过大,过大则会把本不该连通的变成了连通的;而连接阀值过小,则可能把应该连通的变成了不连通。连接阀值在程序运行前作为输入参数进行设置,根据实际工程实践经验,连接阀值设置值一般不超过0.01。

2.2与指定节点最近线图元的搜索

为确认对某一节点是否存在虚连接可能,需要找到路网上与该节点最近距离的线图元,并且还需要获取该线图上的最近点坐标以及最短距离等信息。在GISDK函数库中,函数GetLineDistance(coord c, array shape_pts)[5]提供了这一功能,该函数返回点c到道路shape_pts的最短距离、最近点坐标以及其他信息。

对于某一节点,可能存在多条最近的线图元,即这一节点与多条道路存在虚连接的可能,为了进一步判别,需要逐一搜索并返回每条线图元ID、最短距离、最近点坐标等信息。下面算法便是计算与指定节点最近距离的所有道路图元信息。

步骤1:输入地理文件,节点ID。

步骤2:计算道路图层上所有线图元数目N。

步骤3:d=MaxInt, Lines[N]=NULL, num=0。

步骤4:i 从1 到N,循环:

① 计算节点ID与第i个线图元距离di;

②如果di

步骤5: i 从1 到N,循环:

①计算节点ID与第i个线图元距离di;

②如果di=d, 则:num++; Lines[num]={第i个线图元ID,最近点坐标}。

步骤6:结束。

2.3节点连通性的修正

当某节点V存在虚连接时,需要对该虚连接进行修正。对于一个根据最近线图元上最近点的性质以及节点的最近距离,可以对如下3种情况进行讨论。

(1) 当最近线图元上的最近点A是节点层节点时(如图1(c)所示)。修复步骤:移动节点V到节点A;合并节点V和节点A。

(2) 当最近线图元上的最近点A不是节点层节点,且与V的距离为零时(如图1(d)所示)。修复步骤:在点A所在的道路图元上的A处拆分道路;合并节点V和节点A。

(3) 当最近线图元上的最近点A不是节点层节点,且与V的距离大于零时(如图1(a)与(b)所示)。修复步骤:在点A所在的道路图元上的A处拆分道路;连接节点V到节点A。

基于上述主要的设计思路,路网中虚连接修复算法如图2所示。

图2 虚连接修复算法

2.4路网拓扑结构的构建

当路网图层上的节点连通性修复完毕后,在实施具体应用之前,应该构建路网拓扑结构,即确定路网中的节点数量和位置坐标、线图元数量与地理长度,以及节点与道路之间的空间关系等信息,通常这些信息通过文件形式保存。

GISDK函数库中自带了创建路网拓扑结构文件的专用函数[5]:CreateNetwork (string set_name, string file_name, string label, array link_field_names, array node_field_names, array options)。在GISDK编制的Macro中,使用该函数来创建路网拓扑结构。下面语句在D盘下创建名为mynet.net的路网拓扑文件:

linkflds = {{"Length", line_layer+".Length", line_layer+".Length"}}

net = createNetwork(,"d:mynet.net","Network",linkflds,,)

3 应用实例

最典型的路网分析应用就是最短路计算。最短路问题是军事交通运输信息化建设所面临的基本问题之一,许多后勤优化问题均可以通过最短路问题来求解。例如两地间的最短里程线路、最安全线路、道路修筑、管道铺设,线路安装等,再如后勤保障单元布局,设备更新等问题也可转化为最短路问题。本节讨论基于GISDK的路网拓扑结构分析方法在最短路计算上的应用,路网采用安徽省国省道的MapInfo格式地理文件,GIS开发平台为TransCAD 4.5和GISDK语言开发包。

将MapInfo格式地理文件导入到TransCAD中,采用连通性分析工具检查路网连通性,共报告有141处节点存在虚连接问题(如图3所示),图中带圆圈的节点存在虚连接。显然,在这样的路网上是不能进行正确的路网分析的。利用基于GISDK编制的路网修复应用程序,对该路网进行虚连接修复和拓扑结构构建。修复后,重新检查路网连通性,发现路网虚连接全部消除。

图3 路网连通性检查结果

为了验证本文提出方法的有效性,在该路网上利用本文提出的方法和文献[6]中提出的算法进行最短路分析比较。利用相同的区域地图,随机选择20组起点和终点进行最短路分析测试,测试结果为本文提出的方法分析结果与文献[6]中提出的基于MapX最短路径分析方法结果完全一致。这表明所提出的方法在实际应用中是可行的和有效的。图4为其中一组起点与终点间的最短路分析结果,其中粗线显示了指定的两节点间的最短路径,其最短距离为440.47 km。

图4 修复后路网上最短路分析

4 结 语

本文探讨了基于GISDK的路网拓扑结构的构建与应用,提出的路网构建方法具有如下优势:一是解决了路网的连通性问题。对路网存在的虚连接情况进行了深入分析,提出了基于GISDK的路网连通性修复和构建方法,为后续的路网分析奠定了基础。二是拓展了地理文件的应用范围。虚连接问题的有效解决,为MapInfo格式地理文件提供了新的应用领域,也为TransCAD用户对其他格式地理文件的利用提供了一种新的思路。

[1]涂圣武 张海军,罗洪波,等.基于GISDK的TransCAD软件宏的开发与应用[J].公路与汽运,2006(4):45-47.

[2]王伟,赵云疾. 基于GISDK的公路网规划过程优化模块开发研究[J].吉林交通科技,2008(4):47-49.

[3]许云,王薇. 基于TransCAD平台二次开发的城市公共交通线网优化决策支持系统[J].交通与运输,2012,28(7):77-81.

[4]王子明,胡郁葱,庞清阁,等.基于GISDK进行公路网区域OD数据合成系统的开发研究[J].内蒙古公路与运输,2010(1):1-5.

[5]Caliper Corporation. TransCAD中文用户手册[Z].北京:北京数字空间科技有限公司,2002, 100-220

[6]YIN Xuri. Topology analysis for the damaged road network based MapX[J]. Advanced Materials Research, 2014,1022:321-324.

(编辑:史海英)

Construction and Application of GISDK-Based Road Network Topological Structure

YIN Xuri

(Transportation Service Department, Bengbu Automobile NCO Academy, Bengbu 233011, China)

It is common to build a road network by importing geographic files in various formats into TransCAD in engineering practice, which, however, might cause connectivity problems. In this paper, some common types of virtual connection in road network are summarized, and a GISDK-based method of fixing virtual connection is designed and implemented. The validity of the proposed method is verified by applying to the modified road network the program compiled with GISDK for the shortest path analysis.

GISDK; topological structure; connectivity; shortest path analysis

2015-11-02;

2016-03-20.

尹旭日(1964—),男,博士,教授.

10.16807/j.cnki.12-1372/e.2016.08.021

U491

A

1674-2192(2016)08- 0090- 04

猜你喜欢
连通性线图路网
植被覆盖度和降雨侵蚀力变化对小流域泥沙连通性的影响
中国自然保护地连通性的重要意义与关键议题
宁夏高速公路路网“最强大脑”上线
一些图运算的调和指标与调和多项式的线图∗
预测瘢痕子宫阴道试产失败的风险列线图模型建立
去2 度点后不满足Pósa- 条件的图的Z3- 连通性
闸坝对抚河流域连通性的影响研究
打着“飞的”去上班 城市空中交通路网还有多远
一类图及其线图的Wiener指数