《电子技术应用》
您所在的位置:首页 > 测试测量 > 设计应用 > 基于VR技术的三维输电网GIS系统的研究与应用
基于VR技术的三维输电网GIS系统的研究与应用
象 阳, 袁荣湘, 贺 庆, 张
摘要: 介绍了传统的输电网地理信息系统的优点及不足,提出了建立基于VR技术的三维输电网地理信息系统,分析了三维地理信息系统建立的相关技术,通过实例说明VRML与Java的结合。通过对系统功能的分析,证明该系统能够比较好地弥补二维GIS系统的不足,从而有效地提高输电部门的生产效率、降低线路运行维护成本,对于提高整个电力系统经济效益有重要的意义。
关键词: GIS 虚拟现实 输电
Abstract:
Key words :

  摘 要: 介绍了传统的输电" title="输电">输电网地理信息系统的优点及不足,提出了建立基于VR技术的三维输电网地理信息系统,分析了三维地理信息系统建立的相关技术,通过实例说明VRML与Java的结合。通过对系统功能的分析,证明该系统能够比较好地弥补二维GIS" title="GIS">GIS系统的不足,从而有效地提高输电部门的生产效率、降低线路运行维护成本,对于提高整个电力系统经济效益有重要的意义。
  关键词: 虚拟现实" title="虚拟现实">虚拟现实 三维地理信息系统 输电网 空间数据


  地理信息系统(GIS)可以将输电网中的各种信息有机地与反映地理位置的图形信息结合,实现具有拓扑结构和分析功能的空间数据库系统,并且提供了强有力的手段处理图形和非图形信息,为电力部门提供智能化决策和控制。因此,在输电网中采用GIS技术不仅仅能使输电网的管理上升到一个新的高度,也为改进输电质量、减少事故和检修时的停电时间、提高供电可靠性、降低电网运行费用提供了新手段[1]
  目前在电力系统中广泛应用的主要是基于二维坐标的GIS系统,系统采用层的形式区分显示各种类型的地物元素,即在不同的层中以点、线、面等符号表征不同类型的实际物体。二维GIS系统最大的缺点就是其简单的几何图形加标注的表现形式并不能真正地反映线路、杆塔等电力设备设施周围的地形地貌,不能为巡视、操作及检修人员提供一个真实的功能环境信息。
  随着计算机图形技术、空间数据库技术的发展,特别是虚拟现实技术在电力系统信息化中的逐步应用,一种基于空间数据库技术和三维虚拟现实技术的三维地理信息系统应运而生[2]。相比较于二维GIS,三维GIS最大的优点是增加了z轴上的表现能力,使空间物体在程序中能够最大程度地真实显现,使操作更加方便,对减少误操作率及提高电力系统的安全性有重要意义,并且能够表现地物之间的空间垂向关系,因此在空间分析能力上也较原来的二维GIS系统更胜一筹。本文借助虚拟现实技术,通过VRML与Java相结合,实现了一个三维输电网GIS系统。
1 虚拟现实(VR)技术
  虚拟现实(Virtual Reality,简称VR)技术是一种使人沉浸于一个由计算机生成或以计算机为中介的可交互虚拟环境中的显示和控制技术。这种技术有三大特点:沉浸感,即用户在视觉上产生一种沉浸于虚拟环境的感觉;交互性,即虚拟现实所产生的模型是一个开放、互动的环境;想象性,即虚拟现实技术以视觉形式反映了设计者的思想。虚拟现实的上述特点决定其在军事仿真、教育、医学、游戏、遥控机器人、虚拟设计、虚拟制造等领域都得到了广泛的应用[3]
  将虚拟现实技术应用于计算机系统中,就形成了VR系统。VR系统一般应具备以下特征:(1)以计算机系统为中心的一种计算机应用系统;(2)展现三维多媒体空间;(3)对象的交互性;(4)使用者的访问不以VR系统作者的设定为转移,可以由使用者本身自由控制[4]
  虚拟现实的实现有软件和硬件两种实现方法。对于后者需要昂贵的硬件设备,例如头盔显示器等,目前仅仅应用在航天和军事上。而利用软件编程的方法在显示器上输出逼真的具有虚拟现实特征的三维场景,用软件的方法对硬件依赖性不高,相对来说易于实现,运用范围日益广泛。本文将采用软件方法实现。
2 系统设计相关技术
  本文采用VRML与Java相结合的手段来实现一个三维输电网GIS系统,下面将分别介绍VRML及其与Java相结合应用的技术要点。
2.1 VRML语言
  VRML是Virtual Reality Modeling Language 的简称,中文译名为虚拟现实建模语言,是一种由国际标准化组织ISO定义的在网络上表达三维数据的文件格式,也被称为是第二代WWW的标准语言。值得注意的是,VRML浏览与目前常用的Web浏览方式相同,即文件可以通过诸如IE浏览器(需安装特定的插件)打开并操作。
  VRML场景(Scene Graph)由多种类型的节点组成,包括外形节点(Shape)、几何节点(Geometry)、造型节点(Appearance)、组节点(Group)、父节点/子节点(Parent/Children),还包括变换节点(Transform)、超链接节点Anchor、脚本节点Script、碰撞检测节点Collision、产生动画效果的Timesensor节点、用于构造分布式场景的Incline节点、为增强场景漫游动画效果的节点(Background节点、Fog节点、Navigation节点、Viewpoint节点、WorldInfo节点)等。每个节点包含一个或多个域,每个域都有域值,节点还可以包含其它节点。VRML采用树状分支描述的格式,并提供了面向对象的建模方法。
  VRML本身还具有交互功能:各个节点可以通过事件体系发送接收事件;传感器使用鼠标或数据手套等定点设备可以感知与之发生的动作并产生相应的事件;脚本节点可以通过编程使节点产生复杂的动作。此外,VRML中的内插器节点和时间传感器节点也为动画的实现提供了基础。
2.2 Java与VRML实现三维交互
  VRML提供了功能强大的Script节点,可以与外界通信,一般采用Java或者Javascript通信接口。而Java语言具有简洁、精干、面向对象和跨平台的诸多优势,采用Java与VRML进行交互有如下的几个优势[5]
  (1)Java语言与平台无关,Java程序是解释执行的,它的源程序通过编译成.class文件执行;
  (2)Java语言提供了安全性机制,它没有指针,不会有操作内存引起的程序安全问题;
  (3)Java提供了简便的网络功能,在IE浏览器中可以嵌入Java Applet小程序。
  采用Java语言与VRML场景中的节点通信,从而扩展了VRML场景与外部的交互能力。VRML通过外部授权接口EAI(External Authoring Interface)提供了与Java结合的几个相应的Java类,在Java程序编译时指定了这些类的路径就可以运用这些类,例如Browse.class等。这些类能够改变VRML场景中相应的变量值,当建立的Java Applet程序引入了VRML场景文件和这些功能类,即可完成对VRML场景中物体位置、颜色、大小等的控制。
  本文采用Java语言开发Java Applet这种可以从网络上自动下载并可嵌入HTML文档中的小程序,它可以随着HTML一起下载、打开,当退出IE浏览器后Java Applet将会和HTML一起清除[6]。系统中需要安装支持JDK1.3的IE浏览器。微软公司IE4.0以上的版本都支持JDK1.3。
  由于VRML本身不支持直接的交互,在操作VRML文件时,只通过VRML提供接口,然后在Java程序中调用Java与VRML两者结合的类实现。图1表示了VRML文件的操作过程。
  本文用图2所示的铁塔为例说明VRML是如何进行三维绘图和控制的。

 


  #VRML V2.0 utf8
  #Created with V-Realm Builder v2.0
  #Integrated Data Systems Inc.
  #www.ids-net.com
  Transform {
  translation 0 0 0
  scale 3 3 3
  children [
   DEF group03 Transform {
    translation 29.27 5.162 17.86
    children [
    DEF Loft57 Transform {
      translation 24.29 -5.162 -1.867
      children Shape {
        appearance Appearance {
          material Material {
            ambientIntensity
  0.2
    ……
  VRML语言对物体的变量进行了描述,如变量shape描述了物体的大小、translation描述物体的位置,这些量都是用数组来表现的,并且可以在Java中进行调用和改变,同时,这些文件也可以用写字板打开查看程序内容。这里有三个translation分别是三级的位置, 最上边一个translation是主观测点(0.0.0)。铁塔是由很多个元件组成的。制作时把它们合成了一个transform,这是中间的一个translation;最下面的translation是其中一个元件位置translation、appearance以及material。
  还可以在Java程序中设置事件函数,改变VRML程序中的变量值,利用getEventOut和getEventIn设置事件前与事件后的状态。若需要发生事件如点击物体后弹出一对话框,可以这样写:
  getEventOut(OnClick){
  A=get(“group03.translation”);
  B=GetEventIn(“A”);
  F=Form();
  //定义点击事件的结果
  def ButtonClick(Onclick, event):
  //弹出对话框显示物体的translation值
  MessageBox.Show(“B”);
  b.Click += ButtonClick;
  f.ShowDialog();}
3 系统特点和功能
3.1 系统结构特点

  本系统以GIS为平台,搭建了一个有较完全功能的三维输电网信息管理系统,其总体结构框图如图3所示。


  应用程序首先对GIS平台上的信息进行提取,这些信息将有助于形成描述VR世界的文件。由于三维GIS需要对空间数据库进行操作,因此必须在应用程序和空间数据库之间借助空间数据库引擎(SDE)搭建一个空间数据传送和操作的桥梁。值得注意的是,此处的空间数据库是广义上的空间数据库,即在此空间数据库中既有空间数据(如线路的走向、坐标、相对位置等)又有非空间数据(如线路的型号、电压等级等)。为了对空间数据库中的数据更加有效地利用,还引入了空间数据库挖掘的方法,其意义在于电力系统运行人员在成年累月的运行过程中积累了丰富的运行和分析经验,而这些经验性内容却很难量化,运行人员之间很难传承和共享这些经验,一旦利用数据挖掘的方法,就可以完成对运行模式的提取和重建立,从而节约运行成本、加快事故处理过程、提高电力部门的经济效益。
3.2 系统功能
  (1)图形操作功能。三维显示地物,如输电线路走向、弧垂和铁塔高度、位置等。图形以三维实景方式实现平滑放大、缩小、旋转、沿预定线路漫游、绕固定点飞行等图形观察功能。另外,为了展现在用户面前时不管是局部还是全景,都会显得清晰而不杂乱,还可以根据需要设置缩放倍数和地物显示的缩放级别。
  (2)地物属性查询和统计功能。根据用户习惯设置多种不同的搜索方式,利用模糊查询和精确查询相结合,任意查询统计线路及设备台帐。
  (3)空间数据挖掘功能。根据大量的空间数据和非空间数据,建立空间数据仓库,采用聚类、分类及空间关联算法,在一定程度上完成对运行模式的提取和空间分析,给运行人员提供辅助决策。
  (4)空间查找和定位功能。根据用户输入的信息,采用空间索引技术,迅速查找到空间地物并做出标注,且将查找到的地物置中。如果没有查找到,则给出提示对话框。
  (5)主接线图管理功能。三维图形和二维主接线图可以相互对应,并且将实时采集的信息量作为多个字段写入数据库中,如果希望在主接线图或GIS图上显示这些量,可以通过程序将数据从数据库中读出并反映到界面上。
  (6)图形输出打印功能。可以打印三维全景图和二维主接线图。


参考文献
1 刘 琳,张 健. 高压输电网地理信息管理系统[J].华北电力技术,1998;(12):24~27
2 应开怀,邱家驹. 基于MPI软件的三维输电线路地理信息系统[J].计算机工程与设计,2004;25(9):1584~1586
3 王汝传,孙开翠,辛晨昀等.基于VRML的可视化工具的研究[J].系统仿真学报,2001;13(J):476~478
4 韩 智,李九龄.虚拟现实(VR)技术在供水行业地理信息系统(GIS)中的应用[J]. 计算机工程与应用, 2001;(16):168~170
5 王飞,王波,杨湘龙等.PC上虚拟现实仿真的实现.计算机工程,2000;8(26):11~12
6 程 钢,王知衍.利用JAVA控制VRML对象行为的机理研究.系统仿真学报,2001;13(J):483~485

此内容为AET网站原创,未经授权禁止转载。