APP下载

基于ArcEngine的三维城市地下管线流向分析算法研究

2017-12-27苏志军龚振华

地理空间信息 2017年12期
关键词:边线流向管网

苏志军,龚振华

(1.西安测绘总站,陕西 西安 710054)

基于ArcEngine的三维城市地下管线流向分析算法研究

苏志军1,龚振华1

(1.西安测绘总站,陕西 西安 710054)

将ArcEngine技术和网络流向追踪技术应用到城市地下管线流向分析中,结合数学中的映射思想,提出基于ArcGIS网络流向模型的三维城市地下管线流向分析算法,解决了传统二维GIS系统流向分析效果不直观的缺陷,为三维城市地下管网系统的建设提供技术支撑。

网络流向模型 ; 地下管线; 流向分析; 要素

城市地下管线是城市基础设施的重要组成部分,是城市赖以生存和发展的重要物质基础[1],具有复杂性、隐蔽性和系统性等特征。传统的基于二维平面地图的城市地下管线管理方式在表达城市地下管线的这些特征时暴露出许多不足[2]。三维GIS方法将复杂空间对象以三维立体的方式展现在用户面前,用户可以全视角观察对象间的空间关系,给用户以真实世界的感受,提高了地下管线科学化管理水平,更好地服务社会。因此,利用三维GIS技术管理城市地下管网已经成为提高城市地下管线科学化水平的主要手段。

1 ArcGIS网络流向模型

利用ArcEngine实现各种空间网络分析功能都是在网络数据基础上进行的,因此在进行管线网络空间分析前,要先建立网络空间模型,将实际空间系统转换为地理要素网络系统。在与城市爆管、防洪减灾等与管线流向有关的分析功能中,建立网络流向是进行各类分析功能的基础,只有先确定网络的流向,才能在此基础上进行空间分析。

ArcGIS采用几何网络模型和逻辑网络模型来描述空间网络[3]。几何网络模型由一系列相连的线和交汇点组成,构成几何网络的数据源必须是同一空间参考下的要素类,边线和交汇点组合成流向确定的空间网络[4],网络模型的边用于描述流向和长度确定的线状要素,交汇点用于关联边线并传递资源。逻辑网络模型由属性表构成,表记录描述边线和交汇点的关联关系。逻辑网络的数据源是网络边线、交汇点等网路元素以拓扑形式连接成的集合[5],网络元素主要用于非定向网络中的拓扑管线建模,如地铁系统或道路系统等线状网络建模。

几何网络和逻辑网络一一对应,二者通过节点和边的关联关系进行互动。当编辑几何网络时,逻辑网络随之更新。

2 三维流向分析实现思路

进行三维城市地下管线流向分析的基础是构建三维城市GIS系统,分析功能必须在三维管网场景中实现,因此三维管网场景的建立是进行三维管线流向分析的基础。但三维管线模型只是作为元素存在于三维场景中,不能对其进行属性和行为的赋值,所以本文研究的三维城市地下管线流向分析实现思路是通过二维矢量管网要素类构建空间网络,再利用ArcGIS网络流向追踪技术对空间网络进行定向,通过边线的唯一OID编号将管线要素映射成三维管线模型,根据网络边线流向确定三维管线流向,调用ArcGIS的Style库中的三维箭头符号,根据管线长度,将其适量间断性标记在三维管线模型中,最终实现三维管线流向分析。具体流程如图1。

图1 三维管线流向分析实现过程图

实现思路如下:

1)构建地下三维城市一体化平台。地上部分可采用ArcEngine组件技术或Skyline建模软件等方法进行建模。考虑到后续的空间分析表达,地下管线一般采用ArcEngine组件技术建模;管件模型一般采用3DS max、Shyline等专业建模软件构建。

2)建立二维地下管线矢量要素的流向。ArcGIS网络流向追踪技术的实质是通过ArcToolbox工具箱中的Set flow Direction工具对几何网络各个边设置流向,ArcGIS内核按照ITraceFlowSolverGEN接口对网络进行追踪,进而设置各个边线的流向。可以进行4种流向设置,分别是流向与线要素数字化同向、流向与线要素数字化反向、流向按照源头、汇点方向及流向与源头、汇点方向反向[6]。数字化方向是管线普查的方向,地下管网一般呈树状或环状,按照国家和行业相关规定,管线测量是从源点或汇点开始沿着与其相连的管线依次展开,所以管线数字化方向一般为管线流向方向或管线流向反方向。在构建几何网络流向时,需要明确知道所用管网数据的流向,一般可以从外业测量人员或相关总结报告处获得,以便通过Set flow Direction工具对其设置流向。

3)管线要素映射三维模型。在三维地下管线场景中,管线和管件模型都是以元素(element)的形式表达的,元素是根据要素(IFeature)的坐标、高程等属性值构建的具有空间位置信息的三维对象[7]。对三维管线模型定向描述的本质是对其对应的二维矢量管线作流向分析,再在三维管线模型中进行表达。这一过程的核心技术是获取每条二维管线对应的三维模型,本文采用映射的思想解决这一问题。具体做法是:在为管线建模前,首先定义两个类型分别为IList和IFeature的集合,每构建一个管线模型,则将管线要素存入IFeature集合中,将其三维模型存入IList集合中。这样两个集合中的元素都是按管线建模顺序添加排列的,也是一一对应的。要获取某一元素构建的三维对象,只需在IFeature集合中获取该元素索引号,根据索引号在IList集合中便可获取其构建的三维对象。

4)遍历所有管线,确定每条管线长度,调用ArcGIS的Style符号库中的三维箭头符号,根据管线长度将管线分为若干段。一般而言,每一小段长度一般为管径的4~6倍最好,这样箭头符号放置得不至于太密或太疏。根据管线起始点坐标及小段长度计算每一小段中间点的三维坐标,将三维箭头符号以元素(element)的形式加入中间点处。依此类推,计算后续各小段的中间点坐标,添加箭头符号。

3 三维流向分析算法实现

三维管线流向分析的本质是获取管线模型,根据管线长度将管线均分为若干段,计算每一小段管线模型中轴线的中间点三维坐标,将三维箭头符号添加到每小段的中间点处,从而实现三维管线流向标定。对于任意一段单独管线(图2),利用ILine接口的FromPoint属性和ToPoint属性可以获得管线的起终点坐标。设参数n=6r(r为管径),以n长度对管线从起点开始分段,到终点处不足一段的另行计算,获取起终点的高程,即可得到管线起终点的三维坐标分别为(x1、y1、h)和(x2、y2、H)。根据管线起终点三维坐标计算沿着管线从起点到终点的单位向量为:

假设参数L0=3r,则第一小分段管线中间点A的坐标为FromPoint+3*r·依此类推,(取整)为管线可划分的整数段数,后续小段管线中间点B的坐标为FromPoint+其中依此可以计算得到各个小段管线中间点的坐标。

图2 分段管线中间点坐标计算示意图

4 结 语

管网流向分析在实际生活中具有重要作用,是许多其他类型分析的基础,如爆管分析、连通性分析和最短路径分析等。本文主要研究三维管线流向分析中涉及的相关方法,提出具体的实现思路及算法,解决了传统二维分析方法表达结果不明显的缺点,为三维管线空间分析提供了技术支撑。

[1]CJJ8-99《城市测量规范》[S].

[2]兰小机,刘德儿,魏瑞娟,等.基于ArcObjects与C#.NET的GIS应用开发[M].北京:冶金工业出版社,2011

[3]李崇贵,陈峥,丰德恩,等.ArcGIS Engine组件式开发及应用[M].北京:科学出版社,2012

[4]严勇.地下管线三维可视化研究[D].武汉:武汉大学,2003

[5]刘仁义,刘南.ArcGIS开发宝典[M].北京:科学出版社,2006

[6]李培军.基于GIS的地下管网可视化研究[D].郑州:信息工程大学,2006

[7]唐熠.基于ArcGIS的地下管线三维虚拟仿真研究与实现[D].成都:成都理工大学,2011

P208

B

1672-4623(2017)12-0083-02

10.3969/j.issn.1672-4623.2017.12.026

2015-12-23。

苏志军,高级工程师,研究方向为地图制图。

猜你喜欢

边线流向管网
海岸水边线提取方法在GF-2卫星影像中的适应性研究
小溪啊!流向远方
管网独立是妥协还是改革
从管网独立看国企改革
管网改革虚实
织起一张共管网
十大涨幅、换手、振副、资金流向
认识足球(六)
突破矩形上边线买入法(1)
流向逆转的启示