基于GRASS的城市地下管线二三维可视化

2015-04-02 12:39葛正宁芊
软件导刊 2015年2期
关键词:接点空间数据开源

葛正+宁芊

摘要:设计并构建地下管线综合数据库,利用开源GIS平台GRASS的二维显示模块,读取数据库中存储的管线空间数据来生成并显示管线二维布局图,利用AutoCAD进行管线三维建模,然后运用GRASS的三维模块实现管线空间数据的三维可视化。为实现地下管线信息管理系统中的二、三维信息联动提供一种可行的解决方案,同时为运用开源GIS开发面向行业应用的三维信息管理系统提供一种技术路线与实践经验。

关键词关键词:二三维可视化;GRASS;开源GIS;空间数据库;地下管线

DOIDOI:10.11907/rjdk.143799

中图分类号:TP317.4

文献标识码:A文章编号文章编号:16727800(2015)002014003

作者简介作者简介:葛正(1990-),男,安徽安庆人,四川大学电子信息学院硕士研究生,研究方向为城市地下管线信息化;宁芊(1969-),女,四川宜宾人,博士,四川大学电子信息学院副教授,研究方向为智能控制、水利信息化。

0引言

随着计算机技术和城市建设的快速发展,二维信息已经不能满足城镇发展进程中普通人员对地下管线数据直观显示的强烈需求。因此,地下管线数据的表示方法由二维转向了二、三维,这是未来城镇地下管线信息化工作的发展方向\[1\]。目前,GIS在城市地下管线信息化中的应用多数集中在商业GIS软件上,而基于开源GIS平台的二次开发较少。GRASS是开源桌面GIS软件中功能较为齐全的一个,经过多年的发展,几乎所有的商业GIS功能都可以在GRASS中实现\[2\]。GRASS可以在多个平台上运行,用户可以通过内置的GUI或QGIS使用该软件的功能,也可以通过改进的shell直接使用其模块。由于开源GIS的影响力比较小,而且缺乏良好的能够满足商用的发行版本,所以相应会加大开发工作量与难度。目前,国内还欠缺开源GIS软件在地下管线信息化中的深入研究与应用,尤其是在开源GIS的三维模块应用方面,还不是很成熟\[3\]。

本文研究并利用GRASS、PostgreSQL、PostGIS、AutoCAD实现了基于开源GIS的管线专题数据的二、三维可视化,为构建基于开源GIS的管线信息管理系统中的二、三维联动技术提供了一种可行的解决方案,其主要技术路线如图1所示。

1地下管线专题数据库设计

城市地下管线的种类繁多、空间位置各异、数据量大,各种管线的空间数据和属性数据来源不同,需要对不同数据源的管线数据进行整合,然后根据管线数据结构建立地下管线数据库。这些地下管线原始数据主要通过外沿探测来获取。地下管线探测中,通常记录管线的平面位置、埋深、走向以及管线附属设施位置等。

图1主要技术路线

用于当前试验所建立的管线专题数据库包括4个数据表:元数据表(对地下管线数据库内容的总体描述)、管线点信息表(地面附属物的中心点,如井盖中心点、阀门、水表等)、管线信息表(连接管线点的管线段)、小室信息表(管线附属数据,如管井下面的地下空间信息)\[4\]。其中最为重要的是管线点信息表、管线信息表,它们基本能表示地下管线所包含的大致信息。这两个表的设计如表1、表2所示。

管线点以及管线信息表中用到了一个空间数据类型Geometry,该类型是PostGIS空间数据引擎中最重要的一个概念,是“几何体”的意思,它支持点、线、多边形等几何类型(如点类型POINT(1 1)、线类型LINESTRING(1 1,2 2,3 4))。表2中管线类型表示该管线是属于哪类管线,其取值范围有给水、电信、电力、排水、热力、燃气、工业等\[5\];管径字段表示管道半径;管线条数字段仅用于电缆类管线;管线高程字段表示管线底部的高程;流向字段的0表示载体的流向从起点到止点,1表示载体的流向从止点到起点;结构类型字段取值范围有圆管、直埋电缆、管块、方沟、套管、管组等。

摘要:设计并构建地下管线综合数据库,利用开源GIS平台GRASS的二维显示模块,读取数据库中存储的管线空间数据来生成并显示管线二维布局图,利用AutoCAD进行管线三维建模,然后运用GRASS的三维模块实现管线空间数据的三维可视化。为实现地下管线信息管理系统中的二、三维信息联动提供一种可行的解决方案,同时为运用开源GIS开发面向行业应用的三维信息管理系统提供一种技术路线与实践经验。

关键词关键词:二三维可视化;GRASS;开源GIS;空间数据库;地下管线

DOIDOI:10.11907/rjdk.143799

中图分类号:TP317.4

文献标识码:A文章编号文章编号:16727800(2015)002014003

作者简介作者简介:葛正(1990-),男,安徽安庆人,四川大学电子信息学院硕士研究生,研究方向为城市地下管线信息化;宁芊(1969-),女,四川宜宾人,博士,四川大学电子信息学院副教授,研究方向为智能控制、水利信息化。

0引言

随着计算机技术和城市建设的快速发展,二维信息已经不能满足城镇发展进程中普通人员对地下管线数据直观显示的强烈需求。因此,地下管线数据的表示方法由二维转向了二、三维,这是未来城镇地下管线信息化工作的发展方向\[1\]。目前,GIS在城市地下管线信息化中的应用多数集中在商业GIS软件上,而基于开源GIS平台的二次开发较少。GRASS是开源桌面GIS软件中功能较为齐全的一个,经过多年的发展,几乎所有的商业GIS功能都可以在GRASS中实现\[2\]。GRASS可以在多个平台上运行,用户可以通过内置的GUI或QGIS使用该软件的功能,也可以通过改进的shell直接使用其模块。由于开源GIS的影响力比较小,而且缺乏良好的能够满足商用的发行版本,所以相应会加大开发工作量与难度。目前,国内还欠缺开源GIS软件在地下管线信息化中的深入研究与应用,尤其是在开源GIS的三维模块应用方面,还不是很成熟\[3\]。

本文研究并利用GRASS、PostgreSQL、PostGIS、AutoCAD实现了基于开源GIS的管线专题数据的二、三维可视化,为构建基于开源GIS的管线信息管理系统中的二、三维联动技术提供了一种可行的解决方案,其主要技术路线如图1所示。

1地下管线专题数据库设计

城市地下管线的种类繁多、空间位置各异、数据量大,各种管线的空间数据和属性数据来源不同,需要对不同数据源的管线数据进行整合,然后根据管线数据结构建立地下管线数据库。这些地下管线原始数据主要通过外沿探测来获取。地下管线探测中,通常记录管线的平面位置、埋深、走向以及管线附属设施位置等。

图1主要技术路线

用于当前试验所建立的管线专题数据库包括4个数据表:元数据表(对地下管线数据库内容的总体描述)、管线点信息表(地面附属物的中心点,如井盖中心点、阀门、水表等)、管线信息表(连接管线点的管线段)、小室信息表(管线附属数据,如管井下面的地下空间信息)\[4\]。其中最为重要的是管线点信息表、管线信息表,它们基本能表示地下管线所包含的大致信息。这两个表的设计如表1、表2所示。

管线点以及管线信息表中用到了一个空间数据类型Geometry,该类型是PostGIS空间数据引擎中最重要的一个概念,是“几何体”的意思,它支持点、线、多边形等几何类型(如点类型POINT(1 1)、线类型LINESTRING(1 1,2 2,3 4))。表2中管线类型表示该管线是属于哪类管线,其取值范围有给水、电信、电力、排水、热力、燃气、工业等\[5\];管径字段表示管道半径;管线条数字段仅用于电缆类管线;管线高程字段表示管线底部的高程;流向字段的0表示载体的流向从起点到止点,1表示载体的流向从止点到起点;结构类型字段取值范围有圆管、直埋电缆、管块、方沟、套管、管组等。

2管线数据二维可视化

PostgreSQL是一个自由的对象——关系数据库服务器,具有许多优点:它包括了丰富的数据类型支持,其中有些数据库类型支持在商业数据库中都不具备,比如IP类型;它是全功能的自由软件数据库,很长时间以来,它是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的一种自由软件的数据库管理系统;它拥有一支非常活跃的开发队伍\[6\];其版本更新比较稳定,而且每发布一个新版本都会有功能的提升。PostgreSQL数据库与一般的数据库功能并无不同,然而在其中配置了许多开源GIS所支持的PostGIS空间数据引擎后,它就具有了其它开源数据库不能替代的优点,这时它包含了更加丰富的数据类型支持,比如Geometry空间数据类型就是在配置了PostGIS后才在数据库中产生。因此,PostgreSQL数据库绝对是开源GIS项目开发者的首选数据库引擎。

GRASS的v.in.db模块功能是将数据库中带有空间信息的数据表转换成一幅矢量地图,然而它每次只能将一个数据表转换成一幅矢量图,因此需进行多次转换并且会产生管线点和管线两幅矢量图。以下是运用该模块快速实现二维管线数据可视化的关键代码:

v.in.db table=P_pipe key=P_ID x=east y=north z=quota out=pointofpipe

v.in.db table=L_pipe key=L_ID x=east y=north z=quota out=lineofpipe //转换管点和管线信息表为两幅矢量图

v.overlay ainput=pointofpipe binput=lineofpipe out=pipemap_2D operator=or //合并两幅矢量图

d.vect pipemap_2D //显示地图

为了避免繁琐的转换读取步骤,也可以用QGIS界面管理器手动连接数据库并直接打开图层,简易二维管线布局如图2所示。

图2二维管线布局

3管线设施三维建模

尽管目前的数据库管理系统(DBMS)可以存储三维坐标,但是它还是不能支持真正的三维实体\[7\]。而且与常见的地形图不同,常见地形图的三维可视化可直接利用点数据加上DEM高程数据来实现,然而地下管线具有一定的规则性,它不能简单地通过高程数据来实现。因此,管线设施的三维建模需要借助第三方三维建模软件,此处采用的是AutoCAD工程制图软件。AutoCAD具有良好的用户界面和广泛的适用性,可以在各种操作系统支持的微型计算机和工作站上运行,尤其是它所具有的dxf格式图形和dgn格式图形可以在绝大多数GIS软件上读入或输出\[8\]。尽管dgn格式图形在使用上并不广泛,但是作为一种空间数据的标准格式和一种开放的矢量格式,在处理建筑、桥梁等许多大型工程的图形上其实用性比其它格式图形要好。

在管线三维建模过程中以下几个细节至关重要:

(1)城市地下管线共分为给水、排水、燃气、热力、工业、电力和电缆七大类,其中前五种属于地下管道,后两种属于地下电缆,不同用途的管线占据不同的土层,不同的管线层之间不存在相交关系,为了防止某层管线破裂而影响到其它管线层,每层之间的间隔厚度要足够大。具体分层如图3所示。

(2)在地下管网中,分布着管道的三通接点、弯管接点,由于不同管线的特点及载体都不相同,因而在建模时这些接点的设计要视具体情况而定。地下管道一般都是硬管,不能弯折,其三通接点和弯管接点设计如图4、图5所示。

图3管线分层图图4硬管三通接点

对于像电力电缆和电信电缆这样的软管,它们显然可以弯折,因此不存在三通接点,只有弯管接点,在弯折处的管线应该是圆滑的\[9\],其模型设计如图6所示。

图5硬管弯管接点图6软管弯管接点

4管线三维可视化

GRASS具有v.in.dxf模块,该模块可以将AutoCAD的dxf格式文件快速转换成GRASS特有的矢量图。但实验表明,该模块在转换过程中会丢失部分图层信息,造成图形严重失真。GDAL/OGR是一个开源栅格和矢量空间数据转换库,其中OGR提供对许多矢量数据格式(如Shapefile、dgn、odbc等)的读写支持\[10\],GRASS具有一个v.in.ogr模块支持多种矢量数据格式的转换。实验表明,v.in.ogr模块可以很好地将AutoCAD的dgn格式图形转换成其特有的矢量格式,并且转换速度快、图层信息基本都没有丢失。

GRASS的NVIZ三维可视化模块是由模块SG3D发展而来的一个工具,用于显示三维栅格、矢量或站点,同时也能进行3D查询和创建动画。因此,用v.in.ogr模块和nviz模块相结合的方式来实现管线三维可视化的目的。以下是利用该方法实现管线三维数据可视化的关键代码:

v.in.ogr -z input=pipemap.dgn output=pipemap_3D //矢量方式导入dgn格式地图

g.region vect=pipemap_3D -p //根据矢量图自动调整合适分辨率

nviz vect=pipemap_3D //NVIZ三维模块显示管线图

利用GRASS的NVIZ三维显示模块,得到如图7所示的三维管线效果图。

5结语

在利用GRASS对数据库中空间数据的直接调用实现管线二维可视化的同时,通过AutoCAD进行三维管线建模,利用GRASS的OGR矢量模块导入模型并用NVIZ三维模块显示该模型,是解决基于GRASS实现管线二三维可视化的有效方法。该方法不仅可以充分运用AutoCAD的三维制图功能快速制作三维管线图,还为GIS二次开发者应用开源GIS来开发面向行业应用的二三维信息管理系统提供了可信的实验依据。

由于尚处于研究阶段,目前只实现了开源GIS针对专题数据的二三维显示,然而地下管线数据集应包括基础数据(地面建筑物、道路、附属设施等)和专题数据。因此,在专题数据的基础上添加基础数据并且全面构建基于开源GIS的地下管线信息化管理系统来实现二、三维联动显示功能是后续研究的重点。

图7GRASS三维管线效果

参考文献参考文献:

\[1\]解智强,王贵武.城市地下管线信息化方法与实践\[M\].北京:测绘出版社,2012.

\[2\]唐黎明,尤黎明,周荣福.GRASS——Linux下的开源GIS软件\[J\].采矿技术,2006,6(2):8284.

\[3\]张鹏.基于开源GIS的山洪灾害监测预警平台系统的设计与实现\[D\].成都:四川大学,2013.

\[4\]杨伯钢,张保钢,陶迎春,等.城市地下管线数据建库与共享应用\[M\].北京:测绘出版社,2011.

\[5\]王贵武,解智强,李世强,等.利用海量探测数据实现昆明市地下管线三维建模的应用研究\[J\].测绘科学,2009,34(6):122124.

\[6\]陈振权.以SLA为中心的网络运行监测系统数据管理平台设计与实现\[D\].成都:电子科技大学,2009.

\[7\]左小青.道路交通网络三维GIS数据组织与可视化\[M\].北京:测绘出版社,2011.

\[8\]郭丽.MapGIS与AutoCAD、Sufer、CorelDraw之间数据转换的特点及问题\[J\].商品与质量: 学术观察,2012(9):204204.

\[9\]尹宝昌,白驹,崔宇佳.管线三维建模及可视化分析\[J\].交通科技与经济,2010,12(1):119121.

\[10\]陈振,陈荣国,谢炯,等.自定义空间数据格式的扩展与应用\[J\].测绘科学技术学报,2011,28(2):138140,145.

责任编辑(责任编辑:孙娟)

猜你喜欢
接点空间数据开源
铁路道岔转辙机接点维护装置研究
S700K转辙机接点组改造过程控制和研究
五毛钱能买多少头牛
ZYJ7型道岔接点组防霉、防潮技术改造
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
元数据驱动的多中心空间数据同步方法研究
开源计算机辅助翻译工具研究
基于文件系统的分布式海量空间数据高效存储与组织研究
客户端空间数据缓存策略