管线业务模块实现

简介: 管线业务模块实现



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

缆在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月前
ThreeJs模拟工厂生产过程六
这篇文章详细介绍了如何在Three.js中模拟工厂生产过程的第六部分,重点是创建和实现车间内线边仓货架的三维模型及其布局。
35 1
ThreeJs模拟工厂生产过程六
|
2月前
|
UED
ThreeJs模拟工厂生产过程三
这篇文章介绍了在Three.js中通过使用mergeGeometries技术来合并大量车间模型,以减少浏览器渲染负担,提高性能,并提供了实现模型合并的具体方法和步骤。
52 5
|
2月前
ThreeJs模拟工厂生产过程一
这篇文章详细介绍了如何使用Three.js模拟工厂生产过程的第一部分,包括创建传送带、生产设备和产品的模型,并实现产品沿传送带移动的动画效果。
61 5
|
2月前
ThreeJs模拟工厂生产过程二
这篇文章详细介绍了如何使用Three.js创建一个模拟工厂车间的3D模型,包括绘制地面和墙面的具体步骤,并特别关注于如何创建带有门的墙面以增加车间的真实性。
66 5
|
2月前
ThreeJs模拟工厂生产过程四
这篇文章详细说明了如何在Three.js中为模拟的工厂产线添加警戒线,以增强产线模型的真实感和安全性表现,通过使用`PlaneGeometry`来创建并定位这些警戒线。
24 1
|
2月前
ThreeJs模拟工厂生产过程七
这篇文章详细介绍了如何在Three.js中为工厂车间的货架动态生成并放置货物,通过循环逻辑和贴图应用使货架上的物品更加逼真,增强了场景的真实感。
27 0
|
2月前
|
JavaScript
ThreeJs模拟工厂生产过程八
这篇文章详细介绍了如何在Three.js中模拟工厂生产过程的第八部分,重点是优化场景中的模型,包括合并货架上的料箱以减少渲染负担,并替换设备模型以增强场景的真实性和互动性。
45 0
|
2月前
|
程序员 图形学
ThreeJs模拟工厂生产过程五
这篇文章详细介绍了如何在Three.js中模拟工业生产过程的第五部分,重点在于添加并实现车间内人物的动态行走动画,使人能够在车间内来回移动,增加了场景的真实感。
56 0
|
5月前
软件复用问题之复用决策中,业务架构和技术之间有何关系
软件复用问题之复用决策中,业务架构和技术之间有何关系
|
6月前
|
安全
地下综合管廊工程是一种将各类地下管线集中管理的工程
地下综合管廊工程是一种将各类地下管线集中管理的工程
地下综合管廊工程是一种将各类地下管线集中管理的工程
下一篇
DataWorks