GIS在电力客服座席系统中的实现
2007-08-21 10:50:10 来源:
A-
A+
电力18讯:
【摘 要】随着电力企业客户服务中心业务和需求的不断发展,对电力客服系统的要求也在不断提高,把GIS(地理信息系统)与客服座席系统相结合,可以使座席人员在收到用户的故障报修后,根据用户提供的线索准确定位到故障发生地点,从而缩短抢修时间。文章阐述并探讨了在座席系统中进行GIS开发的方式和方法。
【关键词】配电;GIS;矢量图层
【中图分类号】 TN915.1 【文献标识码】A 【文章编号】 1007-7723(2005)05-0038-03
一、GIS介绍
地理信息系统(Geographic Information System简称GIS)是融计算机图形和数据库于一体,存储和处理空间信息的高新技术,它把地理位置和相关属性有机结合起来,根据实际需要准确、真实、图文并茂地输出给用户,满足用户对空间信息的要求,借助其独有的空间分析功能和可视化表达,进行各种辅助决策。
与一般的管理信息系统相比,地理信息系统具有以下特征:(1)地理信息系统在分析处理问题中使用了空间数据与属性数据,并通过数据库管理系统将两者联系在一起共同管理、分析和应用,从而提供了认识地理现象的一种新的思维方法;而管理信息系统则只有属性数据库的管理,即使存储了图形,页往往以文件形式等机械形式存储,不能进行有关空间数据的操作,如空间查询、检索、相邻分析等,更无法进行复杂的空间分析。(2)地理信息系统强调空间分析,通过利用空间解析式模型来分析空间数据,地理信息系统的成功应用依赖于空间分析模型的研究与设计。
地理信息系统根据其内容可分为两大基本类型:一是应用型地理信息系统,是以某一专业、领域或工作为主要内容,包括专题地理信息系统和区域综合地理信息系统;二是工具型地理信息系统,也就是GIS工具软件包,如ARC/INFO等,具有空间数据输入、存储、处理、分析和输出等GIS基本功能。应用型GIS主要有三种开发方式:
1.独立开发:指不依赖于任何GIS工具软件,从空间数据的采集、编辑到数据的处理分析及结果输出,所有的算法都由开发者独立设计,然后选用某种程序设计语言,如Visual C 、Delphi等,在一定的操作系统平台上编程实现。这种方式的好处在于无须依赖任何商业GIS工具软件,独立性强,但是,能力、时间、财力方面的限制使其开发出来的产品很难在功能上与商业化GIS工具软件相比,而且在购买GIS工具软件上省下的钱可能还抵不上开发者在开发过程中绞尽脑汁所花的代价。
2.单纯二次开发:指完全借助于GIS工具软件提供的开发语言进行应用系统开发。GIS工具软件大多提供了可供用户进行二次开发的宏语言,如ESRI的ArcView提供了Av-enue语言,MapInfo公司研制的MapInfo Professional提供了MapBasic语言等等。用户可以利用这些宏语言,以原GIS工具软件为开发平台,开发出自己的针对不同应用对象的应用程序。这种方式省时省心,但进行二次开发的宏语言,作为编程语言只能算是二流的,功能极弱,用它们来开发应用程序往往不尽如人意。
3.集成二次开发:集成二次开发是指利用专业的GIS工具软件,如ArcView、MapInfo等,实现GIS的基本功能,以通用软件开发工具尤其是可视化开发工具,如Delphi、Visual C 、Visual Basic、Power Builder等为开发平台,进行二者的集成开发。
集成二次开发目前主要有两种方式:(1)OLE/DDE:采用OLE Automation技术或利用DDE技术,用软件开发工具开发前台可执行应用程序,以OLE自动化方式或DDE方式启动GIS工具软件在后台执行,利用回调技术动态获取其返回信息,实现应用程序中的地理信息处理功能;(2)GIS控件:利用GIS工具软件生产厂家提供的建立在OCX技术基础上的GIS功能控件,如ESRI的MapObjects、 MapInfo公司的 MapX 等,在Delphi等编程工具编制的应用程序中,直接将GIS功能嵌入其中,实现地理信息系统的各种功能。这种建立在OCX技术基础上的GIS功能控件又被称做组件式GIS。
由于独立开发难度太大,单纯二次开发受GIS工具提供的编程语言的限制差强人意,因此结合GIS工具软件与当今可视化开发语言的集成二次开发方式就成为GIS应用开发的主流。它的优点是既可以充分利用GIS工具软件对空间数据库的管理、分析功能,又可以利用其他可视化开发语言具有的高效、方便等编程优点,集二者之所长,不仅能大大提高应用系统的开发效率,而且使用可视化软件开发工具开发出来的应用程序具有更好的外观效果,更强大的数据库功能,而且可靠性好、易于移植、便于维护。尤其是使用OCX技术利用GIS功能组件进行集成开发,更能表现出这些优势。
组件式GIS的基本思想是把GIS的各大功能模块划分为几个控件,每个控件完成不同的功能。各个GIS控件之间,以及GIS控件与其他非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用。控件如同一堆各式各样的积木,他们分别实现不同的功能(包括GIS和非GIS功能),根据需要把实现各种功能的“积木”搭建起来,就构成应用系统。把GIS的功能适当抽象,以组件形式供开发者使用,将会带来许多传统GIS工具无法比拟的优点。
二、GIS在电力行业的应用
电力系统所管辖的电网线路和设施分布在广阔的地域上,因此就很需要有GIS来为其所用。电力信息系统与其它信息系统不同之处在于它需要在数据库中记录地理信息,而且有两种类型的地理信息:电力设施的详细位置信息和设施之间的空间关系信息。
GIS系统是通过GIS技术对电力系统基础数据进行计算机管理,能够在地理背景图上管理配电网图形资料和非图形参数,真实反映电网线路的实际走向、各种电力设备的地理位置、对所属电力用户的供电方式等各种信息,并结合DMS中实时控制和离线应用,在地理背景图上显示电力系统实际运行状况。
通过GIS软件技术对配电网基础数据进行计算机管理,把GIS系统中实时控制和离线应用有机结合,形成一个具有空间概念(地理环境信息)和基础信息(电网资料和用户资料)的分层管理数据库,既能方便地进行查询和管理,为配电网运行管理提供一个有效的、具有地理信息的网络模型,又为GIS系统提供基础数据库平台,支持系统许多应用软件的开发和其他功能的实现,如故障投诉管理、配网工作(设计、施工和检修)管理、用电营业管理系统等。
电力客户服务中心系统“95598”,用于处理用电客户进行故障报修、投诉举报、咨询登记、信息查询等业务,对于用户来说,更多的是进行用户用电的故障报修,信息员可以根据用户提供的地点,从GIS系统中通过相关操作查询与之相对应的用户杆号,然后通过座席系统Agent下发派工单到配电抢修班或其他相关部门,指挥抢修车辆达到现场进行维修,再由抢修相关人员将现场故障情况及处理结果及时反馈给客户服务中心。如下图所示:
配电GIS与电力客户服务中心系统“95598”相结合,可以快速、准确的根据用户的故障投诉电话判断发生故障的地点、抢修队伍目前所处位置、及时派出抢修人员,缩短停电时间。
三、实现方式
GIS系统中数据的组织方式是这样的:地理信息是以层(layers)或主题信息逻辑组织的,每一层称为一个cover-age,而且每一层的所有信息内都具有共同的属性。例如,线代表一块区域的所有道路,多边形代表规划区域中的若干供电区域。多数情况下,空间数据存储于GIS环境中,描述地理特征属性的数据可存储于GIS系统环境,也可存储于外部关系数据库中,如SQL、ORACLE、FOXPRO、ACCESS等。
Components GIS是一种新的 GIS开发思想,它是将GIS功能分散制作成Active X Control和Automation,这些标准的Active X Control和 Automation可以被任何支持它们的开发环境调用 ,以便在原有的或新开发的信息系统中加入 GIS功能。目前国际上比较流行的Components GIS软件有 ESRI的 Map Objects,Map Info公司的 Map X等。
MapObjects是一组基于COM技术的地图应用组件,它由一个称为Map的ActiveX控件(OCX)和约45个自动化对象组成,在标准的Windows编程环境下,能够与其他图形、多媒体、数据库开发技术组成完全独立的综合性应用软件,是基于前端应用业务的良好的地图开发环境。我们就以ESRI公司的Map Objects2.0为例进行说明。
MapObjects的使用和开发过程与其他的ActiveX控件没有两样,在Delphi、Visual C 等能够支持控件开发的编程环境下,一旦把控件插入到编程项目中,就可以通过接口使用控件所提供的各种方法。
一个综合性的地图由多个图层构成,图层数据来源既可以是GIS矢量图层,也可以是CAD图层,甚至影像数据。对于GIS和CAD的矢量图层,其内部统一用记录集(Recordset)来表达。可以使用ArcView将各种地图制成专题地图,即“shape”形式,然后,通过程序调用.shp文件即可实现地图的查询功能。
四、实现方法
我们用Delphi5.0来实现GIS的应用为例来说明实现调用地图的方法:
首先,使用“Component | Import ActiveX Controls...”菜单功能打开“Import ActiveX”对话框,从“Import Ac-tiveX”已登记控件列表中找到“ESRI MapObjects 2.0”并按“Install...”按钮,系统将在“ActiveX”选项卡中增加“TMap”控件。为了增加图层数据,首先要把地图控件的尺寸放大到与表单视图一样大,然后把图层数据加入到地图对象中。
对于图层的调用,可以声明过程:
procedure LoadLayer(PathStr: String);
其中,参数PathStr为所调用图层所在的路径文件。其具体实现代码为:
procedure LoadLayer(PathStr: String);
var
FindLayer: MapLayer;
oRenderer :LabelRenderer;
oRect : Rectangle;
begin
Map.Layers.Clear;
FindDc := CoDataConnection.Create;
Pl := CoPlaceLocator.Create;
FindDc.Database := PathStr;
if FindDc.Connect then
begin
FindLayer := CoMaplayer.Create;
FindLayer.GeoDataset := FindDc.FindGeoDataset('数据集');
FindLayer.Symbol.Color := moKhaki;
map.Layers.Add(FindLayer);
oRenderer := CoLabelRenderer.Create;
oRenderer.Symbol[0].Color := moPaleYellow;
oRenderer.Field := 'mc';
IMoMapLayer(Map.Layers.Item(0)).Renderer := oRenderer;
g_symSelection := CoSymbol.Create;
g_symSelection.SymbolType:=Imomaplayer(Map.Lay-ers.item(0)).Symbol.SymbolType;
g_symSelection.color := moRed;
end else
Application.MessageBox('图层读取失败,请重试!','提示信息',MB_OK MB_ICONINFORMATION);
oRect := Map.Extent;
oRect.ScaleRectangle (0.1);
Map.Extent := oRect;
Map.Refresh;
end;
将变量Findlayer连接所属的数据库,如果连接成功,便将所属数据的图层采用分层的方式进行显示,并且显示图层中所标记的文本信息。如需放大、缩小、移动图层,可调用代码:
Map.MousePointer := moZoomIn;
Map.MousePointer := moZoomOut;
Map.MousePointer := moPan;
五、结 论
通过在开发工具中嵌入ActiveX控件可以方便的实现GIS地图的调用、放缩、移动以及查询,对于中小型企业呼叫中心来说,既方便快捷,又节约成本。可以这样说,利用控件可以最少的接口提供了常用的GIS功能,甚至GPS的动态特性,同时做到了结构合理,简单明了,容易理解和扩展。另外,由于地理信息引入规划中,加之GIS的网络分析功能,使得规划过程更有效、规划结果更准确。
【参考文献】
[1]周永兴.迈向21世纪的供配电网[M].中国电力, 2003(5).
【摘 要】随着电力企业客户服务中心业务和需求的不断发展,对电力客服系统的要求也在不断提高,把GIS(地理信息系统)与客服座席系统相结合,可以使座席人员在收到用户的故障报修后,根据用户提供的线索准确定位到故障发生地点,从而缩短抢修时间。文章阐述并探讨了在座席系统中进行GIS开发的方式和方法。
【关键词】配电;GIS;矢量图层
【中图分类号】 TN915.1 【文献标识码】A 【文章编号】 1007-7723(2005)05-0038-03
一、GIS介绍
地理信息系统(Geographic Information System简称GIS)是融计算机图形和数据库于一体,存储和处理空间信息的高新技术,它把地理位置和相关属性有机结合起来,根据实际需要准确、真实、图文并茂地输出给用户,满足用户对空间信息的要求,借助其独有的空间分析功能和可视化表达,进行各种辅助决策。
与一般的管理信息系统相比,地理信息系统具有以下特征:(1)地理信息系统在分析处理问题中使用了空间数据与属性数据,并通过数据库管理系统将两者联系在一起共同管理、分析和应用,从而提供了认识地理现象的一种新的思维方法;而管理信息系统则只有属性数据库的管理,即使存储了图形,页往往以文件形式等机械形式存储,不能进行有关空间数据的操作,如空间查询、检索、相邻分析等,更无法进行复杂的空间分析。(2)地理信息系统强调空间分析,通过利用空间解析式模型来分析空间数据,地理信息系统的成功应用依赖于空间分析模型的研究与设计。
地理信息系统根据其内容可分为两大基本类型:一是应用型地理信息系统,是以某一专业、领域或工作为主要内容,包括专题地理信息系统和区域综合地理信息系统;二是工具型地理信息系统,也就是GIS工具软件包,如ARC/INFO等,具有空间数据输入、存储、处理、分析和输出等GIS基本功能。应用型GIS主要有三种开发方式:
1.独立开发:指不依赖于任何GIS工具软件,从空间数据的采集、编辑到数据的处理分析及结果输出,所有的算法都由开发者独立设计,然后选用某种程序设计语言,如Visual C 、Delphi等,在一定的操作系统平台上编程实现。这种方式的好处在于无须依赖任何商业GIS工具软件,独立性强,但是,能力、时间、财力方面的限制使其开发出来的产品很难在功能上与商业化GIS工具软件相比,而且在购买GIS工具软件上省下的钱可能还抵不上开发者在开发过程中绞尽脑汁所花的代价。
2.单纯二次开发:指完全借助于GIS工具软件提供的开发语言进行应用系统开发。GIS工具软件大多提供了可供用户进行二次开发的宏语言,如ESRI的ArcView提供了Av-enue语言,MapInfo公司研制的MapInfo Professional提供了MapBasic语言等等。用户可以利用这些宏语言,以原GIS工具软件为开发平台,开发出自己的针对不同应用对象的应用程序。这种方式省时省心,但进行二次开发的宏语言,作为编程语言只能算是二流的,功能极弱,用它们来开发应用程序往往不尽如人意。
3.集成二次开发:集成二次开发是指利用专业的GIS工具软件,如ArcView、MapInfo等,实现GIS的基本功能,以通用软件开发工具尤其是可视化开发工具,如Delphi、Visual C 、Visual Basic、Power Builder等为开发平台,进行二者的集成开发。
集成二次开发目前主要有两种方式:(1)OLE/DDE:采用OLE Automation技术或利用DDE技术,用软件开发工具开发前台可执行应用程序,以OLE自动化方式或DDE方式启动GIS工具软件在后台执行,利用回调技术动态获取其返回信息,实现应用程序中的地理信息处理功能;(2)GIS控件:利用GIS工具软件生产厂家提供的建立在OCX技术基础上的GIS功能控件,如ESRI的MapObjects、 MapInfo公司的 MapX 等,在Delphi等编程工具编制的应用程序中,直接将GIS功能嵌入其中,实现地理信息系统的各种功能。这种建立在OCX技术基础上的GIS功能控件又被称做组件式GIS。
由于独立开发难度太大,单纯二次开发受GIS工具提供的编程语言的限制差强人意,因此结合GIS工具软件与当今可视化开发语言的集成二次开发方式就成为GIS应用开发的主流。它的优点是既可以充分利用GIS工具软件对空间数据库的管理、分析功能,又可以利用其他可视化开发语言具有的高效、方便等编程优点,集二者之所长,不仅能大大提高应用系统的开发效率,而且使用可视化软件开发工具开发出来的应用程序具有更好的外观效果,更强大的数据库功能,而且可靠性好、易于移植、便于维护。尤其是使用OCX技术利用GIS功能组件进行集成开发,更能表现出这些优势。
组件式GIS的基本思想是把GIS的各大功能模块划分为几个控件,每个控件完成不同的功能。各个GIS控件之间,以及GIS控件与其他非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用。控件如同一堆各式各样的积木,他们分别实现不同的功能(包括GIS和非GIS功能),根据需要把实现各种功能的“积木”搭建起来,就构成应用系统。把GIS的功能适当抽象,以组件形式供开发者使用,将会带来许多传统GIS工具无法比拟的优点。
二、GIS在电力行业的应用
电力系统所管辖的电网线路和设施分布在广阔的地域上,因此就很需要有GIS来为其所用。电力信息系统与其它信息系统不同之处在于它需要在数据库中记录地理信息,而且有两种类型的地理信息:电力设施的详细位置信息和设施之间的空间关系信息。
GIS系统是通过GIS技术对电力系统基础数据进行计算机管理,能够在地理背景图上管理配电网图形资料和非图形参数,真实反映电网线路的实际走向、各种电力设备的地理位置、对所属电力用户的供电方式等各种信息,并结合DMS中实时控制和离线应用,在地理背景图上显示电力系统实际运行状况。
通过GIS软件技术对配电网基础数据进行计算机管理,把GIS系统中实时控制和离线应用有机结合,形成一个具有空间概念(地理环境信息)和基础信息(电网资料和用户资料)的分层管理数据库,既能方便地进行查询和管理,为配电网运行管理提供一个有效的、具有地理信息的网络模型,又为GIS系统提供基础数据库平台,支持系统许多应用软件的开发和其他功能的实现,如故障投诉管理、配网工作(设计、施工和检修)管理、用电营业管理系统等。
电力客户服务中心系统“95598”,用于处理用电客户进行故障报修、投诉举报、咨询登记、信息查询等业务,对于用户来说,更多的是进行用户用电的故障报修,信息员可以根据用户提供的地点,从GIS系统中通过相关操作查询与之相对应的用户杆号,然后通过座席系统Agent下发派工单到配电抢修班或其他相关部门,指挥抢修车辆达到现场进行维修,再由抢修相关人员将现场故障情况及处理结果及时反馈给客户服务中心。如下图所示:
配电GIS与电力客户服务中心系统“95598”相结合,可以快速、准确的根据用户的故障投诉电话判断发生故障的地点、抢修队伍目前所处位置、及时派出抢修人员,缩短停电时间。
三、实现方式
GIS系统中数据的组织方式是这样的:地理信息是以层(layers)或主题信息逻辑组织的,每一层称为一个cover-age,而且每一层的所有信息内都具有共同的属性。例如,线代表一块区域的所有道路,多边形代表规划区域中的若干供电区域。多数情况下,空间数据存储于GIS环境中,描述地理特征属性的数据可存储于GIS系统环境,也可存储于外部关系数据库中,如SQL、ORACLE、FOXPRO、ACCESS等。
Components GIS是一种新的 GIS开发思想,它是将GIS功能分散制作成Active X Control和Automation,这些标准的Active X Control和 Automation可以被任何支持它们的开发环境调用 ,以便在原有的或新开发的信息系统中加入 GIS功能。目前国际上比较流行的Components GIS软件有 ESRI的 Map Objects,Map Info公司的 Map X等。
MapObjects是一组基于COM技术的地图应用组件,它由一个称为Map的ActiveX控件(OCX)和约45个自动化对象组成,在标准的Windows编程环境下,能够与其他图形、多媒体、数据库开发技术组成完全独立的综合性应用软件,是基于前端应用业务的良好的地图开发环境。我们就以ESRI公司的Map Objects2.0为例进行说明。
MapObjects的使用和开发过程与其他的ActiveX控件没有两样,在Delphi、Visual C 等能够支持控件开发的编程环境下,一旦把控件插入到编程项目中,就可以通过接口使用控件所提供的各种方法。
一个综合性的地图由多个图层构成,图层数据来源既可以是GIS矢量图层,也可以是CAD图层,甚至影像数据。对于GIS和CAD的矢量图层,其内部统一用记录集(Recordset)来表达。可以使用ArcView将各种地图制成专题地图,即“shape”形式,然后,通过程序调用.shp文件即可实现地图的查询功能。
四、实现方法
我们用Delphi5.0来实现GIS的应用为例来说明实现调用地图的方法:
首先,使用“Component | Import ActiveX Controls...”菜单功能打开“Import ActiveX”对话框,从“Import Ac-tiveX”已登记控件列表中找到“ESRI MapObjects 2.0”并按“Install...”按钮,系统将在“ActiveX”选项卡中增加“TMap”控件。为了增加图层数据,首先要把地图控件的尺寸放大到与表单视图一样大,然后把图层数据加入到地图对象中。
对于图层的调用,可以声明过程:
procedure LoadLayer(PathStr: String);
其中,参数PathStr为所调用图层所在的路径文件。其具体实现代码为:
procedure LoadLayer(PathStr: String);
var
FindLayer: MapLayer;
oRenderer :LabelRenderer;
oRect : Rectangle;
begin
Map.Layers.Clear;
FindDc := CoDataConnection.Create;
Pl := CoPlaceLocator.Create;
FindDc.Database := PathStr;
if FindDc.Connect then
begin
FindLayer := CoMaplayer.Create;
FindLayer.GeoDataset := FindDc.FindGeoDataset('数据集');
FindLayer.Symbol.Color := moKhaki;
map.Layers.Add(FindLayer);
oRenderer := CoLabelRenderer.Create;
oRenderer.Symbol[0].Color := moPaleYellow;
oRenderer.Field := 'mc';
IMoMapLayer(Map.Layers.Item(0)).Renderer := oRenderer;
g_symSelection := CoSymbol.Create;
g_symSelection.SymbolType:=Imomaplayer(Map.Lay-ers.item(0)).Symbol.SymbolType;
g_symSelection.color := moRed;
end else
Application.MessageBox('图层读取失败,请重试!','提示信息',MB_OK MB_ICONINFORMATION);
oRect := Map.Extent;
oRect.ScaleRectangle (0.1);
Map.Extent := oRect;
Map.Refresh;
end;
将变量Findlayer连接所属的数据库,如果连接成功,便将所属数据的图层采用分层的方式进行显示,并且显示图层中所标记的文本信息。如需放大、缩小、移动图层,可调用代码:
Map.MousePointer := moZoomIn;
Map.MousePointer := moZoomOut;
Map.MousePointer := moPan;
五、结 论
通过在开发工具中嵌入ActiveX控件可以方便的实现GIS地图的调用、放缩、移动以及查询,对于中小型企业呼叫中心来说,既方便快捷,又节约成本。可以这样说,利用控件可以最少的接口提供了常用的GIS功能,甚至GPS的动态特性,同时做到了结构合理,简单明了,容易理解和扩展。另外,由于地理信息引入规划中,加之GIS的网络分析功能,使得规划过程更有效、规划结果更准确。
【参考文献】
[1]周永兴.迈向21世纪的供配电网[M].中国电力, 2003(5).
评论
最新评论(0)
相关新闻:
-
无相关信息