论文部分内容阅读
【摘 要】 本文阐述了三维Web GIS技术与城市管线管理相结合的重要意义,结合Skyline与Silverlight的优势,以及城市地下管线信息的特点,提出了基于Skyline和Silverlight的城市三维管线WebGIS设计方案,利用Skyline Terra ExplorerPro及Silverlight SDK,开发了实际应用系统——天津市汉沽城区三维综合管线信息管理系统。
【关键词】 Skyline;Silverlight;三维;管线;WebGIS,Web Service
The Design and Implementation of 3D WebGIS for Urban Pipeline Based on Skyline and Silverlight
Min Xing,Yin Duan,Cao Wei
(Tianjin Institute of Surveying and Mapping, ChanglinRoad XiqingDistrict TianjinCity, 300381)
【Abstract】 In this paper, the significance of managing urban pipeline with 3D WebGIS was expained, combining with the characteristics of urban pipeline information, the design of 3D WebGIS for urban pipeline based on Skyline and Silverlight was offered. And, using Skyline TerraExplorer Pro and Silverlight SDK,a prototype,the managing system of urban pipeline information for Hangu County,Tianjin City,was implemented.
【Key Words】 Skyline, Silverlight, 3D, Pipeline,WebGIS, Web Service
1 引言
眼观当前GIS技术的发展,三维GIS(3DGIS)与网络GIS(WebGIS)无疑是两大主要趋势,尤其是二者的结合,更是GIS技术当前研究与应用的热点。传统GIS已应用于城市的规划、交通、公共设施等多个领域及其相关部门的日常业务,随着信息技术的持续快速发展,以及“智慧城市”等概念的不断清晰及其实施工作的逐步推进,城市管理对GIS的新应用需求愈发倾向于三维可视化及网络化,与新GIS技术的结合日益紧密。而地下管线被称为城市的“血管与经络”,是城市规划、建设和管理的重要基础资料,运用3DGIS、WebGIS技术对城市管线进行管理的意义不言而喻。
本文即采用了主流富互联网应用技术(Rich Internet Applications, RIA)技术之一的Silverlight技术 ,利用其灵敏的反应速度及优秀的界面表现力,并结合成熟且运用广泛的三维平台Skyline对多源数据融合及加载海量数据的优势,明显提高了三维WebGIS的界面表现力和运行效率。
2 Skyline与Silverlight技术
Skyline是一套优秀且主流的三维数字平台软件,憑借其国际领先的三维数字化显示技术,它可以利用海量的遥感航测影像数据、数字高程数据以及其他二三维数据搭建出一个对真实世界进行模拟的三维场景,并可以基于网络服务进行发布,其优势主要体现在对多源数据融合以及对海量数据的高效加载展现与网络发布[1]。
与此同时,Silverlight技术的出现有效缓解了传统WebGIS胖服务器模式下服务器端的压力, 其本质上是将功能包(xap文件)下载到客户端,充分利用客户端的计算处理能力。对于互联网用户来说,Silverlight是一个类似于Adobe Flash的插件程序,具有更加灵敏的反应速度和更令人感兴趣的可视化特性[2]。
3 系统设计
3.1系统构建需求
作为城市级别的三维WebGIS, 系统的构建应满足如下要求:
1)系统功能与城市应用管理服务的结合。满足用户业务需求、切合实用,是GIS系统设计的出发点及着力点,本系统即需要与城市管线规划管理部门的业务需求紧密结合。
2)三维模型的实时展示效率及对真实世界的表现力。三维模型立体直观的视觉效果是三维GIS的主要优势,这取决于三维模型的仿真度及其展示效率。
3)数据及功能基于WebService的发布。采用网站形式访问,支持多用户并发访问。
4)界面显示友好。包括三维模型数据、专题属性数据的显示界面、系统的操作界面均要求美观化、人性化。
5) 支持数据动态更新,保持专题数据的现势性。
3.2结构设计
本系统的结构设计也遵循B/S架构模式,即三层体系模式: 数据服务层、Silverlight页面服务层、用户层。在数据服务层,应用Web Service技术,将对三维模型数据、专题属性数据的访问和操作均作为服务发布;在Silverlight页面服务层,将在数据服务层提供的服务接口融合到具体的应用系统,并通过xaml、silverlight基础类库、TerraExplorer Pro API开发接口实现系统功能;在用户层,仅需具备Web浏览器及Silverlight插件即可[3]。
3.3数据库设计
本系统的数据库建设主要包括二个方面: 1)专题三维模型数据库。本系统涉及的专题三维模型即为管线模型。利用Skyline的三维建模工具TerraBuilder将遥感影像和DEM数据进行读取、转换等处理以创建MPT三维场景文件,再利用TerraExlporer基于MPT场景导入三维管线模型层,最终生成FLY配置文件[4]。三维管线模型层依据天津市管线分类标准(给水、排水、燃气、电力、电信、热力、工业、综合等八大类)进行分层管理,每一类分为管点层与管线层两个数据层。模型均以文件形式存储于服务器硬盘,TerraExlporer导入的模型层数据均为从服务器Oracle数据库读取的包含坐标信息及模型存储路径的专题属性数据表。
2)属性数据库。包括专题属性数据和系统数据。专题属性数据(本系统即管线属性数据,如管径、压力等)也包含于上述专题属性数据表中,以Oracle数据库表的形式存储。系统数据(用户、日志等)以普通数据表的形式存储于Oracle数据库。对属性数据的获取均通过Web Service进行。
4 系统实现及关键技术
4.1功能模块
基于城市级别的三维WebGIS系统的特点,并结合管线管理工作需求,本系统的功能模块主要分为两部分,一部分是三维特有功能:显示设置、空间量距、纵深分析、横纵剖面分析等 ;另一部分是GIS的常用功能:地图浏览、快速定位、信息查询、数据统计、数据输出等。具体功能概述如下:
1)显示设置:包括阳光、地表透明度等三维可视化效果的设置。
2)空间量距:包括任意两点的水平距离、垂直距离、立体空间距离的量测。
3)纵深分析:包括挖坑土方量计算、地下管线巡线等。
4)横纵剖面分析:包括道路横剖面管线分析、道路纵剖面管线分析。
5)地图浏览:包括缩放、平移等地图基本操作,以及面积量测等地图基本功能。
6)快速定位:包括按道路交叉口定位、按单位定位、按坐标定位。
7)数据查询与统计:包括二种方式:按属性进行(点击查询、按管径等属性查询与统计)、按区域进行(按任意多边形等区域形状特征并结合属性选项进行查询与统计)。
8)数据输出:包括当前窗口打印、导出至MDB等。
系统实现的总体界面效果图如图1所示。
4.2关键技术
4.2.1 Skyline与Silverlight的结合
2)Skyline插件嵌入Silverlight。虽然Silverlight并不支持Skyline的三维插件,但支持向其中嵌入HTML网页,提供URL即可,再将Skyline的三维插件嵌入该HTML网页[5]。HTML网页嵌入Silverlight的xaml页面关键代码如下:
将Skyline的三维插件嵌入TeWindow.htm页面的关键代码如下:
2)Silverlight与Skyline的交互。Silverlight是基于.NET平台的,采用C#实现,而三维具体功能实现采用TerraExplorer API for Javascript [6], Silverlight与Skyline的交互通过C#与Javascript的交互实现。从C#到Javascript的关键代码如下:
HtmlPage.Window.Eval("TEFrame." + jsFunction);
从Javascript到C#的关键代码如下:
parent.SL.TE.csharpFunction(…);
此前,必须在xaml页面的后台C#代码中将当前xaml页面注册为可用脚本操作的对象“TE”:HtmlPage.RegisterScriptableObject("TE", this)。
4.2.2三维管线模型数据的实时更新
城市级别GIS应用的一个常用且关键的功能即是专题数据的实时更新与维护,以保证专题数据的现势性。传统二维桌面GIS在数據更新维护方面的技术已经十分成熟,二维WebGIS也实现了在线编辑功能,而三维WebGIS的在线编辑技术尚未完善[7]。鉴于上述原因并结合管线管理业务需求,本系统另外开发了一个配套的桌面版三维管线模型数据的实时批量更新工具。根据《天津市地下管线工程现状及竣工数据汇交规定》(2009),上交至管理部门准备入库更新的批量管线数据均为MDB格式,包含完整的管线管点坐标信息及埋深、管径等属性信息。利用此工具导入MDB数据即可以生成3.3节所述专题属性数据表并导入更新至服务器Oracle数据库。管点类专题属性数据表涉及三维管线模型的字段为空间坐标及其管点类别对应的管点模型文件存储路径,管线类专题属性数据表涉及的字段为起点坐标、其管线类别对应的管线模型文件存储路径,以及根据其起止点空间坐标计算的管线的roll、 pitch、raw三个空间姿态角度值。三维管线模型数据的实时批量更新工具如图2所示。
图2 三维管线模型数据的实时批量更新工具
5 结语
本文阐述了一个基于Skyline和Silverlight的城市三维管线WebGIS的设计思路及实现方式,并实际应用于天津市汉沽城区三维综合管线信息管理系统的建设,为管线规划管理部门的决策提供了直观立体、准确、现势的管线信息及实效的辅助分析工具。本文的研究融合了Skyline三维技术与Silverlight富互联网应用技术(RIA)的优势,对促进3DGIS和WebGIS与城市管理应用服务相结合的发展具有积极意义,也为城市地下管线信息管理系统的建设提供了一种借鉴。
参考文献:
[1]唐桢,张新长,曹凯滨.基于Skyline的三维技术在城市规划中的应用研究[J].测绘通报,2010(5):10-12
[2]胡勤军,闵星.基于ArcGIS和Silverlight的城市管线WebGIS设计与实现[J].测绘地理信息,2014,2:40-43
[3]闵星,曹伟,蒋华.基Silverlight的二三维联动WebGIS的设计与实现[J].城市勘测,2014,1:52-55
[4]高国勇.基于Skyline的数字城市三维建模方法研究[J].大科技·科技天地,2011(5):35-36
[5]常德海.基于Skyline的虚拟校园建设理论与方法研究[D].郑州:河南大学,2009:13-14
[6]北京东方道迩信息技术股份有限公司GIS事业部.TerraExplorer Pro二次开发用户手册V6.1[EB/OL]. [2012-10-28].http://download.csdn.net/download/xslz_grf/4490303.
[7]钟海东,吴健平,李平等.基于Skyline和视频监控的三维WebGIS应用研究[J].微计算机信息,2011,5:20-23
【关键词】 Skyline;Silverlight;三维;管线;WebGIS,Web Service
The Design and Implementation of 3D WebGIS for Urban Pipeline Based on Skyline and Silverlight
Min Xing,Yin Duan,Cao Wei
(Tianjin Institute of Surveying and Mapping, ChanglinRoad XiqingDistrict TianjinCity, 300381)
【Abstract】 In this paper, the significance of managing urban pipeline with 3D WebGIS was expained, combining with the characteristics of urban pipeline information, the design of 3D WebGIS for urban pipeline based on Skyline and Silverlight was offered. And, using Skyline TerraExplorer Pro and Silverlight SDK,a prototype,the managing system of urban pipeline information for Hangu County,Tianjin City,was implemented.
【Key Words】 Skyline, Silverlight, 3D, Pipeline,WebGIS, Web Service
1 引言
眼观当前GIS技术的发展,三维GIS(3DGIS)与网络GIS(WebGIS)无疑是两大主要趋势,尤其是二者的结合,更是GIS技术当前研究与应用的热点。传统GIS已应用于城市的规划、交通、公共设施等多个领域及其相关部门的日常业务,随着信息技术的持续快速发展,以及“智慧城市”等概念的不断清晰及其实施工作的逐步推进,城市管理对GIS的新应用需求愈发倾向于三维可视化及网络化,与新GIS技术的结合日益紧密。而地下管线被称为城市的“血管与经络”,是城市规划、建设和管理的重要基础资料,运用3DGIS、WebGIS技术对城市管线进行管理的意义不言而喻。
本文即采用了主流富互联网应用技术(Rich Internet Applications, RIA)技术之一的Silverlight技术 ,利用其灵敏的反应速度及优秀的界面表现力,并结合成熟且运用广泛的三维平台Skyline对多源数据融合及加载海量数据的优势,明显提高了三维WebGIS的界面表现力和运行效率。
2 Skyline与Silverlight技术
Skyline是一套优秀且主流的三维数字平台软件,憑借其国际领先的三维数字化显示技术,它可以利用海量的遥感航测影像数据、数字高程数据以及其他二三维数据搭建出一个对真实世界进行模拟的三维场景,并可以基于网络服务进行发布,其优势主要体现在对多源数据融合以及对海量数据的高效加载展现与网络发布[1]。
与此同时,Silverlight技术的出现有效缓解了传统WebGIS胖服务器模式下服务器端的压力, 其本质上是将功能包(xap文件)下载到客户端,充分利用客户端的计算处理能力。对于互联网用户来说,Silverlight是一个类似于Adobe Flash的插件程序,具有更加灵敏的反应速度和更令人感兴趣的可视化特性[2]。
3 系统设计
3.1系统构建需求
作为城市级别的三维WebGIS, 系统的构建应满足如下要求:
1)系统功能与城市应用管理服务的结合。满足用户业务需求、切合实用,是GIS系统设计的出发点及着力点,本系统即需要与城市管线规划管理部门的业务需求紧密结合。
2)三维模型的实时展示效率及对真实世界的表现力。三维模型立体直观的视觉效果是三维GIS的主要优势,这取决于三维模型的仿真度及其展示效率。
3)数据及功能基于WebService的发布。采用网站形式访问,支持多用户并发访问。
4)界面显示友好。包括三维模型数据、专题属性数据的显示界面、系统的操作界面均要求美观化、人性化。
5) 支持数据动态更新,保持专题数据的现势性。
3.2结构设计
本系统的结构设计也遵循B/S架构模式,即三层体系模式: 数据服务层、Silverlight页面服务层、用户层。在数据服务层,应用Web Service技术,将对三维模型数据、专题属性数据的访问和操作均作为服务发布;在Silverlight页面服务层,将在数据服务层提供的服务接口融合到具体的应用系统,并通过xaml、silverlight基础类库、TerraExplorer Pro API开发接口实现系统功能;在用户层,仅需具备Web浏览器及Silverlight插件即可[3]。
3.3数据库设计
本系统的数据库建设主要包括二个方面: 1)专题三维模型数据库。本系统涉及的专题三维模型即为管线模型。利用Skyline的三维建模工具TerraBuilder将遥感影像和DEM数据进行读取、转换等处理以创建MPT三维场景文件,再利用TerraExlporer基于MPT场景导入三维管线模型层,最终生成FLY配置文件[4]。三维管线模型层依据天津市管线分类标准(给水、排水、燃气、电力、电信、热力、工业、综合等八大类)进行分层管理,每一类分为管点层与管线层两个数据层。模型均以文件形式存储于服务器硬盘,TerraExlporer导入的模型层数据均为从服务器Oracle数据库读取的包含坐标信息及模型存储路径的专题属性数据表。
2)属性数据库。包括专题属性数据和系统数据。专题属性数据(本系统即管线属性数据,如管径、压力等)也包含于上述专题属性数据表中,以Oracle数据库表的形式存储。系统数据(用户、日志等)以普通数据表的形式存储于Oracle数据库。对属性数据的获取均通过Web Service进行。
4 系统实现及关键技术
4.1功能模块
基于城市级别的三维WebGIS系统的特点,并结合管线管理工作需求,本系统的功能模块主要分为两部分,一部分是三维特有功能:显示设置、空间量距、纵深分析、横纵剖面分析等 ;另一部分是GIS的常用功能:地图浏览、快速定位、信息查询、数据统计、数据输出等。具体功能概述如下:
1)显示设置:包括阳光、地表透明度等三维可视化效果的设置。
2)空间量距:包括任意两点的水平距离、垂直距离、立体空间距离的量测。
3)纵深分析:包括挖坑土方量计算、地下管线巡线等。
4)横纵剖面分析:包括道路横剖面管线分析、道路纵剖面管线分析。
5)地图浏览:包括缩放、平移等地图基本操作,以及面积量测等地图基本功能。
6)快速定位:包括按道路交叉口定位、按单位定位、按坐标定位。
7)数据查询与统计:包括二种方式:按属性进行(点击查询、按管径等属性查询与统计)、按区域进行(按任意多边形等区域形状特征并结合属性选项进行查询与统计)。
8)数据输出:包括当前窗口打印、导出至MDB等。
系统实现的总体界面效果图如图1所示。
4.2关键技术
4.2.1 Skyline与Silverlight的结合
2)Skyline插件嵌入Silverlight。虽然Silverlight并不支持Skyline的三维插件,但支持向其中嵌入HTML网页,提供URL即可,再将Skyline的三维插件嵌入该HTML网页[5]。HTML网页嵌入Silverlight的xaml页面关键代码如下:
将Skyline的三维插件嵌入TeWindow.htm页面的关键代码如下:
2)Silverlight与Skyline的交互。Silverlight是基于.NET平台的,采用C#实现,而三维具体功能实现采用TerraExplorer API for Javascript [6], Silverlight与Skyline的交互通过C#与Javascript的交互实现。从C#到Javascript的关键代码如下:
HtmlPage.Window.Eval("TEFrame." + jsFunction);
从Javascript到C#的关键代码如下:
parent.SL.TE.csharpFunction(…);
此前,必须在xaml页面的后台C#代码中将当前xaml页面注册为可用脚本操作的对象“TE”:HtmlPage.RegisterScriptableObject("TE", this)。
4.2.2三维管线模型数据的实时更新
城市级别GIS应用的一个常用且关键的功能即是专题数据的实时更新与维护,以保证专题数据的现势性。传统二维桌面GIS在数據更新维护方面的技术已经十分成熟,二维WebGIS也实现了在线编辑功能,而三维WebGIS的在线编辑技术尚未完善[7]。鉴于上述原因并结合管线管理业务需求,本系统另外开发了一个配套的桌面版三维管线模型数据的实时批量更新工具。根据《天津市地下管线工程现状及竣工数据汇交规定》(2009),上交至管理部门准备入库更新的批量管线数据均为MDB格式,包含完整的管线管点坐标信息及埋深、管径等属性信息。利用此工具导入MDB数据即可以生成3.3节所述专题属性数据表并导入更新至服务器Oracle数据库。管点类专题属性数据表涉及三维管线模型的字段为空间坐标及其管点类别对应的管点模型文件存储路径,管线类专题属性数据表涉及的字段为起点坐标、其管线类别对应的管线模型文件存储路径,以及根据其起止点空间坐标计算的管线的roll、 pitch、raw三个空间姿态角度值。三维管线模型数据的实时批量更新工具如图2所示。
图2 三维管线模型数据的实时批量更新工具
5 结语
本文阐述了一个基于Skyline和Silverlight的城市三维管线WebGIS的设计思路及实现方式,并实际应用于天津市汉沽城区三维综合管线信息管理系统的建设,为管线规划管理部门的决策提供了直观立体、准确、现势的管线信息及实效的辅助分析工具。本文的研究融合了Skyline三维技术与Silverlight富互联网应用技术(RIA)的优势,对促进3DGIS和WebGIS与城市管理应用服务相结合的发展具有积极意义,也为城市地下管线信息管理系统的建设提供了一种借鉴。
参考文献:
[1]唐桢,张新长,曹凯滨.基于Skyline的三维技术在城市规划中的应用研究[J].测绘通报,2010(5):10-12
[2]胡勤军,闵星.基于ArcGIS和Silverlight的城市管线WebGIS设计与实现[J].测绘地理信息,2014,2:40-43
[3]闵星,曹伟,蒋华.基Silverlight的二三维联动WebGIS的设计与实现[J].城市勘测,2014,1:52-55
[4]高国勇.基于Skyline的数字城市三维建模方法研究[J].大科技·科技天地,2011(5):35-36
[5]常德海.基于Skyline的虚拟校园建设理论与方法研究[D].郑州:河南大学,2009:13-14
[6]北京东方道迩信息技术股份有限公司GIS事业部.TerraExplorer Pro二次开发用户手册V6.1[EB/OL]. [2012-10-28].http://download.csdn.net/download/xslz_grf/4490303.
[7]钟海东,吴健平,李平等.基于Skyline和视频监控的三维WebGIS应用研究[J].微计算机信息,2011,5:20-23