APP下载

基于开放地图平台构建配电网GIS

2013-02-18卫党会刘粤海

电力科学与工程 2013年2期
关键词:环网柜配电网线路

卫党会,刘粤海

(珠海优特电力科技股份有限公司,广东 珠海519000)

0 引言

配电网地理信息系统(GIS)是配电网规划、设计、建设、运行等工作的一个重要平台,是配电网工程自动制图(AM)、设备设施管理(FM)的基础。随着地理信息系统在电力系统中不断被推广,用户开始体会到通过GIS 系统提高企业管理效益和水平的重要性。但是在信息技术飞速发展背景下,封闭GIS 系统的缺陷也凸现出来,主要表现在以下几个方面[1]:

(1)标准缺乏:不同公司的GIS 平台在数据模型、体系架构、开发工具等诸多方面都存在很多不同,因此构建在其上的GIS 应用在技术、性能特征等各方面都存在明显的不同。

(2)系统封闭:依赖配电网GIS 的各子系统之间使用特定交换数据接口,不同部门的应用软件花费大量的后期开发工作,系统升级牵动各种相关软件开发,对信息系统提供商和最终用户都是漫长艰难的精力消耗。

(3)地图滞后:由于基础建设速度快,地图数据远滞后于实际情况,必须不断购买地图,在获得最新地图数据后,导入数据库也要增加额外维护工作量。

(4)费用难估:运行环境、开发工具都必须按照各种模块付费,有时甚至无法估算投资。

(5)终端制约:由于主站端系统的封闭,移动设备必须选择专门的支持组件 (如ESRI 的ArcGIS for Mobile,不同终端需要购买不同的套件),要满足多平台用户体验,开发投入大、周期长。

在信息技术、通信技术,特别是开放系统以及云概念发展背景下,Google 公司在2004 年10月27 日收购Keyhole 卫星图像公司,联网地图应用在开放性和实时性等技术上获得突破,为解决各种不同行业应用提供了一个崭新的契机[2]。本文通过实例,分析了如何在配电网GIS 利用Google Maps 这一技术平台,解决长期以来困扰配电网GIS 的几大问题。

1 开放地图平台的优势

(1)开放性优势

以Google Maps 为例,Google 诞生于互联网,互联网本身就是一个开放式系统,Google Maps 开放性体现在:地图数据是开放的,Google Maps 提供基础地图数据,这些数据格式是开放的;开发接口是开放的,在Google 网站上有全部的开发文档,不仅接口函数是开放的,甚至接口函数的实现还有完整源代码也是开放的;编程语言是开放的,由于JavaScript 本身的开放性,Google Maps API 是JavaScript 函数库,自然也遵循开放标准;数据访问机制是开放的,基于AJAX 的异步访问机制,是为了提高客户端与服务器端数据交换和负荷分配的开放式标准[2],在Google 的大力支持下得到推广的。

(2)成本优势

GIS 系统需要两个支撑,第一是地理数据,第二是平台。大半以上的投资花费在平台购买和地理数据上,大半以上的精力花费在对应用平台的消化理解上[2]。Google Maps 企业版可以通过注册获得使用权[3],综合费用也不高。地图数据更新是Google 在后台来完成的。

(3)终端支持优势

Google 对Android 开源,Google 有一套面向手持终端的API,基于Android 手持终端已经非常普及,积累了大量的硬件、软件、人力资源,包括远程通信、近距离通信(WIFI、篮牙)、GPS 支持等等成熟应用,这些技术对配电网GIS 深度应用意义深远。

2 Google Maps 开放式接口实现

面向特定应用的GIS,其实就是在基础地图上叠加各种不同的应用层(叠加层),通过对设备及线路地理数据库的访问,在基础地图上显示和进行交互的过程,Google Maps API 提供实现特定应用的叠加机制。

2.1 Google Maps 图形叠加机制

(1)标记GMarker:比如杆塔、电缆井、环网柜等都可以作为标记来实现。

(2)折线GPolyline:折线是表现电力线路的直接方法,但是由于API 提供的线型只有实线,本文为表现电缆线路进行了扩展。

(3)多边形GPolygon:实际应用中可把封闭多边形用于显示供/停电范围。

(4)地图块叠加GTileLayerOverlay:Google地图是由256 ×256 象素的正方形图块(即“瓦片”Tiles)拼接而成的,通过图块叠加层机制可以替换Google 提供的缺省图块层,形成不同的地图[4]。

一幅大地图需要按照不同缩放等级预先进行一块块切块、命名和存放,调用时再按照相应缩放等级一块块叠放到地图上,放大后不会失真,具有透明度参数,可随时加上和去掉它们。适用于对整个城市或一个城区地图的整体更新替换[5]。

(5)底面叠加GGroundOverlay:在地图上任何经纬度及其限定的范围内叠加图片,对原来地图背景全覆盖,不需要对图片切分,可以跨多个瓦片。叠加图片随着地图的缩放而缩放,以象素缩放显示,放大后会失真。没有透明度。

在配电网GIS 中,放大倍数较小时,使用图标方式(GMarker)表示变电站,放大倍数较大时可以将变电站、开闭所的平面布局图加工成图片叠加到底图上,辨认更加直观。

(6)自定义地图GMapType:Google 已经提供地图、卫星、地形3 种地图类型,如果希望有其他全新类型的地图,可以使用GMapType 对象创建,从头构造地图类型是一个复杂的过程[5]。

(7)信息浮窗GInfoWindow:信息浮窗作为特殊的弹出窗口,可以用作对复杂对象内部结构显示,比如本文案例在分支箱、环网柜标记上点击会弹出信息窗口,在信息窗口中显示分支箱、环网柜内部电气接线图,在窗口中对断路器、刀闸进行进一步的操作。

2.2 事件侦听机制

各类应用都必须在人机交互下才有价值,浏览器中丰富的人机交互是通过JavaScript 事件驱动的方法实现的,Google Maps API 也为各种叠加对象提供了事件侦听的方法:GEvent.addListener,通过对GEvent 的继承和扩展,友好的操作界面才能呈现出来。

2.3 Google Maps 应用网络结构

配电GIS 空间数据由电气设施层空间数据和基础地形数据组成[1],基础地形数据来源于Google Maps,而电气设施层数据来源于设计和现场勘测。通过物理安全隔离装置从配电自动化系统获取设备实时信息,通过生产资产管理系统获取设备资产数据,这样形成GIS 系统配电综合应用[6],网络结构如图1 所示。

图1 配电网应用网络结构示意图Fig.1 Structure diagram of the distribution grid GIS

3 在配网GIS 中应用

把配电设备及其拓扑连接关系叠加到Google Maps 上,通过二次开发增加客户端人机接口与数据库交互,可以实现配网GIS 功能。

3.1 搭建Google Maps 开发环境

(1)加载Google Maps API

Google Maps API 是一个基于JavaScript 的类(或函数)库,在访问页面头部必须嵌入以下脚本:

其中KEY 是申请的密钥。

(2)建立配网GIS 对象模型

配网GIS 中对象继承自Google Maps 的叠加对象,见图2,在本文实例中还使用到两个扩展库:

(a)Prototype :一套对JavaScript 的扩展类库[7]。

(b)DGridline:

GoogleMapAPI 没有虚线的画法,使用此扩展表示电缆线[8]。

(3)安装SVG 控件

图2 基于Google Maps 的GIS 应用对象构架图Fig.2 Object diagram of the GIS application on Google Maps

开关站、环网柜、电缆分支箱内部接线的显示和操作,使用到SVG 控件,通过安装Adobe 公司的SVG Viewer 即可,也可用于VML 技术表示主接线[9]。

(4)调试工具

调试工具采用Microsoft Visual Studio JavaScript调试功能。

3.2 配网GIS 基本功能的实现

(1)加载地图

检查浏览器的兼容性后直接调用GMap2 在页面上创建地图对象,然后把各种叠加对象加载到系统中。

(2)叠加元件

把配电网的元件叠加到地图上,见本文2.1。因配电网应用元件与地图API 提供的基本元件目标不同,对其进行了扩展。DGridMarker 是各种设备元件基类,是对GMarker 对象的继承[10],使用原型继承方式。

(3)叠加线路

Google Maps API 本身的线形非常单调简单,没有虚线,无法表现配电网电缆线路,因此采用继承自GPolyline 的扩展类DGridline 实现虚线,表现线路类型(电缆、架空)、运行状态(带电、检修、在建等),见图3。

(4)为对象添加侦听事件

由于对每一类元件对象,操作事件响应的结果不同,例如对线路,通过点击看到本线路的类型、长度、带电状态、当前负荷、上下级杆塔编号等。

设备和线路响应的事件有鼠标移入、移出、点击3 个事件。

图3 同塔(井)多线路的处理Fig.3 Measurement of multi-line on the single pole (or well)

设备鼠标移入的侦听事件表现为:当鼠标放到设备上面时,图标跳起、文字变大、文字变为红色,以醒目显示本设备被选中。

线路响应事件鼠标移入事件,表现为整回线路变粗,醒目的显示本回线路所有的走向,在有实时设备状态时,可以看到本出线的带电(红色)、停电(绿色)状态。

鼠标放到环网柜图标上,图标跳跃,且以鲜明颜色显示环网柜名称,点击则进一步扩展一个多页面信息浮窗见图4 。

图4 配网GIS 线路及环网柜内部主接线图Fig.4 Single line diagram of the ring grid cabinet and the distribution grid line

(5)其他实现细节

(a)配电网设备数量庞大(如杆塔),不能同时在图面上显示,应把不同类型设备归到不同图层,不同放大等级,显示不同设备层,否则运行效率低,在缩小到全图后设备密集,不可辨识。

(b)为了显示同塔多回线路,在两回路经纬度完全相同时,采用了强制布局标志,如图3,这样1 号井与3 号井之间多回路电缆才不会由于两点经纬度的相同重合。

(c)在设备上点击(如环网柜),弹出信息窗口,显示本环网柜的内部接线图,地理位置、设备参数(不同页笺),如图4。主接线图的显示采用了SVG 格式,每一个环网柜和分支箱内部的接线图都以独立的文件存储,这样在与应用接口时满足IEC61970/61968 对主接线文件的要求,可以在不同系统中的交互,满足互联网图形标准的发展趋势。

4 需完善的工作及存在的问题

4.1 采用XML 数据库

本文案例是通过JavaScript 多维数组文件形式来组织数据的,在实际应用中应该采用XML 格式存储,支持多种访问方式,增加代码通用性[11]。数据库包括:地理位置数据库、设备资产数据库、实时数据库、拓扑关系库[12]等。

4.2 服务器端开发

本文的代码全部是JavaScript 完成的,配电网应用需要复杂的数据库交互功能,实际应用中必须借助ASP.net 开发工具来进行后台数据库复杂交互功能的应用开发。

4.3 方便的维护工具

设备地理信息系统采集后,因许多设备地理坐标是完全相同的,为了在地图上布置,可能需要少许调整,特别是同塔多回架空线、同沟多回电缆,调整后美观清晰,这样就需要一个工具(类似ArcEditor)按照所见即所得的方式调整并且存储,需要完成:

(1)获取原始的设备、线路坐标并显示。

(2)所见即所得调整设备、线路的位置和走向,编辑设备、线路属性。

(3)生成调整后的坐标并存储为XML 数据格式。

(4)绘制主接线图并存储为SVG 格式。

4.4 采用开放式地图平台的问题

(1)开放与安全问题

根据国家规定,电力二次系统依据安全等级划分为生产控制大区和管理信息大区[13]。生产控制大区分为:实时控制区(Ⅰ区)、非控制生产区(Ⅱ区);管理信息大区分为:生产管理区(Ⅲ区)、管理信息区(Ⅳ区)。生产控制大区与管理信息大区之间不允许直接通信,必须通过相关检测机构认证的物理隔离装置,而物理隔离装置对互联网是完全隔绝的。按照相关规定,管理信息大区,允许通过防火墙与互联网进行有限制的链接,例如用电管理的客户服务模块就有这种需求,配网GIS 也属于这个大区,所以只要防火墙的技术措施合理,开放式地图平台就不会对电网安全构成威胁。

(2)数据一致性及维护问题

开放地图基础地形数据更新是由基础地图提供服务商在后台来完成的,使用用户几乎没有维护工作量,用户需要维护的工作仅仅是电力设备空间数据,所以实际维护工作量比采用专用的GIS 系统大幅降低,见文献[2]前言部分。也因此能够保证不会出现基础地图的更新跟不上基建建设速度实际情况的数据不一致问题。

5 结论

从以上几个关键功能的验证可以确定,Google Maps 是完全可以适用于配电网GIS 应用的。与此同时,我国也逐步放开对地图的管制,原先作为国家机密的地图信息逐步开放为各行业大量采用。Google Maps 开放技术已经被相关国内公司学习,如百度地图、天地图等等,百度API的接口和Google Maps API 的接口相近[14],天地图开发了10 类标准服务接口和超过1 000 个应用程序编程接口[15]。

采用开放式地图平台,让关注配电网应用的用户不再为基础地图操心,同时获得优异的用户体验,使得GIS 平台能够最大程度地促进配电网各项业务的深度应用。

[1]张书亮,闾国年,龚敏霞,等.设备设施管理地理信息系统[M].北京:科学出版社,2006.7-8,15.

[2]陈育春.Google Maps API 开发大全[M].北京:机械工业出版社,2010.5,15.

[3]Google.Why Google Maps API for Business?[EB/OL]http://www.google.com/enterprise/earthmaps/maps -faq.html.2012-5-14.

[4]游兰,彭庆喜.基于Google Maps API 的地图解析研究与实现[J].湖北大学学报(自然科学版),2010,32(2):161-164.You Lan,Peng Qingxi.Research and implementation of geocoding based on Google Maps API [J].Journal of Hubei University (Natural Science),2010,32 (2):161-164.

[5]中央研究院计算中心GIS 组.台湾堡图[EB/OL].http://gissrv5.sinica.edu.tw/GoogleApp/JM20K1904_ 1.htm,2012-05-06.

[6]陈海燕,刘珍.基于Google Maps 的地理信息标注系统的设计与实现[J].湖南科技大学学报 (自然科学版),2009,24 (3):87-90.Chen Haiyan,Liu Zhen.Design and implementation of geographic information mark system based on GoogleMaps[J].Journal of Hunan University of Science & Technology(Natural Science Edition),2009,24 (3):87-90.

[7]Prototype JavaScript framework,version 1.6.0.3[EB/OL].http://www.prototypejs.org/,2005-2008.

[8]Bill Chadwick.Bill Chadwick 's Google Maps Demos[EB/OL].http://www.bdcc.co.uk/Gmaps/BdccGmap-Bits.htm,2012-5-14.

[9]常齐,钟勇.基于VML 与SVG 的矢量图形构架[J].计算机应用,2009,29 (6):288-291.Chang Qi.Zhong Yong.Dynamic vector graphics architecture based on VML and SVG[J].Journal of Computer Applications,2009,29 (6):288-291.

[10]John Resig.精通JavaScript [M].陈贤安,江疆译.北京:人民邮电出版社,2008.

[11]吴张峰.基于XML 的地理数据Web 服务研究[J].测绘与空间地理信息,2007,30 (5):122-126.Wu Zhangfeng.Study of GIS web service based on XML[J].Geomatics & Spatial Information Technology,2007,30 (5):122-126.

[12]李盟,秦立军,郭庆,等.基于CIM 模型的电网拓扑分析[J].电力科学与工程,2011,27 (9):18-22.Li Meng,Qin Lijun,Guo Qing,et al.CIM-based network topology analysis[J]Electric Power Science and Engineering,2011,27 (9):18-22.

[13]李宏发,陈育琳.物理隔离装置技术分析及其在电力系统中的应用[J].计算机应用,2006,26 (6):328-330.

[14]月光博客:中国互联网地图发展前景分析[EB/OL].http://www.williamlong.info/archives/2188.html,2012-05-06.

[15]吴晶晶,罗沙.国家测绘局回应“天地图”热点问题:三大改进[EB/OL],http://tech.qq.com/a/20110119/000010.htm,2012-05-06.

猜你喜欢

环网柜配电网线路
户外环网柜凝露现象分析及解决方案
输电线路工程造价控制
10kV线路保护定值修改后存在安全隐患
10kV线路保护定值修改后存在安全隐患
关于城市10kV配电网自动化实施的探讨
巴基斯坦风电场环网柜设计
电力拖动控制线路在安装中的应用
浅谈智能环网柜的应用
基于IEC61850的配电网数据传输保护机制
一场配电网改造的攻坚战——信阳供电公司加快推进配电网改造略记