管线业务模块实现

简介: 管线业务模块实现



电力管线业务模块是系统的电力业务功能,主要维护电气设备的电力连接关系以及电

缆在GIS 地图和工井内部的位置和走向。管线业务模块由配电线路的轨迹图、单线图、接

线图和工井立视图四部分构成。

1 .配电线路轨迹图

配电线路的轨迹图实现界面如图所示,通过导航树的配电线路右键菜单提供请求接口。系统获得请求后与业务逻辑服务通信获取此配电线路下电气设备和土建设备,然后通过GIS 服务将查询到的设备显示,并在GIS 地图上展示配电线路的轨迹图。另外,用户可以使用图层选择控件选择显示的设备图层,单独查看电气设备轨迹和土建设备轨迹。

2. 配电线路单线图

配电线路单线图的实现界面如图所示,它提供了可视化智能化管理配电线路单线图的工具。单线图模块提供了单线图的查看和编辑功能,并且通过右侧菜单栏可以实现单线图中的设备在GIS 地图上的定位。系统提供了简单的图形编辑菜单栏,电网管理人员可以对单线图中的设备、线路属性、位置和连接关系进行编辑,以提高单线图数据的准确性。

单线图管理包括单线图绘制功能、单线图存储功能。

1 )单线图绘制功能

电尊翩

崛岳毡盹量

从目录树上拖动设备到单线图,单击画线按钮,绘制单线图;还可删除某部分图形(甚

至全部),并重新绘制单线图。

单线图绘制功能关键代码如下:

Global. line . meth od. init = function ( initVar ) {
Global. constant. currentMap = 1;
OpenLayers . ProxyHost =”cgi/proxy. cgi?url =”,
var extent = new OpenLayers. Bounds( - 20, - 20, 20, 20);
Global. line . draw. pointStyleMap = Global. style. lineDiagramStyle;
Global. line . map = new OpenLayers. Map (’map2 ’);
Global. line . map. div. oncontextmenu = function () { return false;);
Global. line. method . drawUnit = function {name, type, sid) {
Global. line. unit . name = name;
Global. line. unit. typeID = type;
Global. line . unit. Static Id = sid;
switch( type) {
case ” 1010201”: Global. line. draw. style type = Global. style. form[O];break;
case ” 1010202 ”: Global. line. draw. style type = Global. style. form[l];break;
case ” 1010203 ”: Global.line.draw.style type= Global.style.form[2];break;
case ” 10102 04 ”: Global. line. draw. style type = Global. style. form[ 3) ;break;
case ” 1010205 ”: Global. line. draw. style type = Global. style. form[ 4); break;
case ” 1010208”: Global. line. draw. style type = Global. style. form[ 7); break;
case ” 1020101 ”: Global. line. draw. style type = Global. style. form[ 8); break;
case ” 1020102”: Global. line. draw. style type = Global. style. form[9J;break;
case ” 1010402”: Global. line. draw. style type = Global. style. form[ll];break;
case ” 1010403”: Global. line. draw. style type = Global. style. form[12];break;
if(type == ” 1010402” 11 type ==”1010403”){
Global. line.method. controlRelease();
Global. line. draw. lineControl. activate();
)else{
Global. line. meth od. controlRelease();
Global. line . draw. pointControl. activate();

单线图关联功能关键代码如下:

获取单线图侧栏数据

public JSONArray getSideBarJson() {
JSONArray jsa = newJSONArray ();
LongSid = Long . parseLong(fatherid);
List< TreeCatalogRecord > aimswitch = treeDao. getTreeCatalog( Sid, 10102020);
for( inti= 0; i < aimswitch. size(); ++ i) {
JSONObject jso = newJSONObject ();
jso.accumulate(” sid”, aimswitch. get( i). getStatic Id());
jso.accumulate(” type”, aimswitch. get( i) getTypeid());
jso.accumulate(”name ”, aimswitch.get(i) getName());
jsa. add( jso);
List< TreeCatalogRecord > a.ii由ranch = treeDao. getTreeCatalog( Sid, 10102050);
for( inti= 0; i < ai曲ranch. size(); ++ i) {
JSONObject jso = newJSONObject ();
jso . accumulate (飞id”, aimbranch.get(i).getStatic Id());
jso.accumulate (气ype”, aimbranch.get(i).getTypeid());
jso.accumulate (” name”, aimbranch. get( i). getName());
jsa.add(jso);
List< TreeCatalogRecord > aimhw = treeDao. getTreeCatalog( Sid, 10102040);
for( inti= 0; i < ai毗w. size(); ++ i) {
JSONObject jso = newJSONObject ();

2 )单线图存储功能

将上述过程中绘制的图形保存到数据库,并在单线图目录树中自动显示,用户选中该图

后,可实现自动绘制。

3. 设备接线图

设备接线图功能的实现界面如图所示,描绘了单电气设备内的配线方式。系统

在导航树中的电气设备右键菜单提供了接线图的查询接口,接线图模块通过OpenLayers

调用GIS 服务在前台渲染出要查询设备的接线图,同时通过业务逻辑服务查询此设备的逻

辑连接关系获取相应的设备信息。另外,接线图模块提供了接线图的编辑功能,电网管理人

员可以对设备的单线图进行维护

4. 工井立视图

工井立视图的功能实现如图所示,它实现了电缆在地下电力管道中位置的可视化。立视图模块提供工井剖面图的查询与编辑功能,同时可以查看工井测绘俯视图。并且通过查看剖面图及剖面信息,电网施工人员可以查询电缆的埋深、在工井中的走向和在管沟段中的位置等关键信息,直观可视化的操作可以降低电力事故发生的概率。另外,管理人员可以通过剖面图编辑、电缆穿孔等操作维护工井立视图,确保立视图数据的准确性。

(1 )管沟面符号添加:有矩形、拱形和圆形。

(2 )管沟面尺寸调整:在图上拉动。

(3 )管孔添加:圆形,有若干固定尺寸可选。

( 4 )管孔设置:可以单个或多选管孔批量移动或改变直径等属性,直径在若干固定尺

寸中选择。

(5 )管孔排列生成: 输入管孔尺寸(选择)、行数、列数、横向间隔距离、纵向间隔距离,

在图上单击,以单击处为左上角,生成规则管孔。

(6 )线路符号添加: 线路符号中间显示电压等级,线路符号尺寸可以在若干固定尺寸

中选择。

(7 )线路标注添加: 单击剖面,再在图上单击,自动生成剖面的线路标注表格。

(8 )通信电缆符号添加。

(9 )支架添加。

(10 )管孔支架批量移动:点选或框线多重选择,点选多重复制加CT R L 键。

(11 )管孔支架复制: 管孔与支架。

(12 )剖面复制:在图中选择一个管沟剖面,作为复制源。

(13 )剖面粘贴: 在图中某一位置单击,以该点为左上角将剖面复制源粘贴到该位置。

1 )剖面绘制

绘制某一具体工井剖面界面如图所示

,需要填人剖面编号、剖面长、剖面宽3个参数。

(1 )添加、更新单个管孔功能。

/添加、更新单个管孔功能函数/

Global. locus.method. drawPipeHole = function (feature, holeFeature) {
var Ppfeature;
for (var i = 0; i < Global . locus. layers. buildingLayer. features. length ; i忡){
if (Global. locus. layers. buildingLayer. features[ i] . attributes[’ Static _ id’]==
feature . attributes[’ pp_segment_id’]){
Ppfeature = Global. locus. layers. buildingLayer. features[ i];
break;
if(Ppfeature) {
Op四Layers. Request. GET( {
url :”getPropertyJson. action? type =”+ Ppfeature. attributes [’。bject_type ’]
+”在Static Id =”+ Ppfeature. attributes [’ Static _id’],
success : ppSegmentProperty_success,
failure: (function ( e) {
Plugins.dialog. show({
’ title ':’错误信息’,
’ text ’: e.responseText { , }
’ submit ’: function ( e) {
Plugins.dialog.remove();
目录
相关文章
|
2月前
|
安全
Bently Nevada 140482-02动态压力I/O模块适用于3500/64
3500/64M动态压力监视器是一款单槽、四通道设备,用于接收高温压力传感器输入并驱动报警。支持通过3500框架配置软件调整带通转折频率和陷波滤波器,提供记录器输出,确保机器安全运行,同时为操作和维护人员提供关键信息。
|
5月前
|
测试技术
探索软件测试的多维视角:从单元到系统,从静态到动态
【8月更文挑战第27天】本文将带领读者穿越软件测试的迷宫,从最微小的单元测试开始,逐步扩展到复杂的系统测试。我们将一起探索静态测试和动态测试的不同面貌,以及它们如何互补地确保软件质量。通过实际代码示例,我们将揭示测试用例的设计思路和执行过程,旨在为读者提供一个全面而深入的软件测试全景图。让我们开始这段旅程,解锁软件测试的秘密,确保我们的代码不仅能够运行,而且能够完美运行。
|
6月前
软件复用问题之复用决策中,业务架构和技术之间有何关系
软件复用问题之复用决策中,业务架构和技术之间有何关系
|
6月前
软件复用问题之在复用组件降低成本和复用组件引入依赖之间取得平衡,如何解决
软件复用问题之在复用组件降低成本和复用组件引入依赖之间取得平衡,如何解决
|
前端开发 芯片
【芯片前端】保持代码手感——一对多的握手拆分模块
【芯片前端】保持代码手感——一对多的握手拆分模块
|
存储 小程序 JavaScript
再也不用担心组件跨层级的数据共享和方法驱动了
再也不用担心组件跨层级的数据共享和方法驱动了
147 0
|
设计模式 前端开发 Java
职责驱动设计以及状态模式的变化
职责驱动设计以及状态模式的变化
职责驱动设计以及状态模式的变化
|
网络协议 前端开发 虚拟化
带你读《思科软件定义访问 : 实现基于业务意图的园区网络》第三章软件定义访问运作方法3.4
带你读《思科软件定义访问 : 实现基于业务意图的园区网络》第三章软件定义访问运作方法3.4
带你读《思科软件定义访问 : 实现基于业务意图的园区网络》第三章软件定义访问运作方法3.4
|
边缘计算 网络虚拟化
带你读《思科软件定义访问 : 实现基于业务意图的园区网络》第三章软件定义访问运作方法3.2
带你读《思科软件定义访问 : 实现基于业务意图的园区网络》第三章软件定义访问运作方法3.2
带你读《思科软件定义访问 : 实现基于业务意图的园区网络》第三章软件定义访问运作方法3.2