管线业务模块实现

简介: 管线业务模块实现



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

缆在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();
目录
相关文章
|
4天前
|
开发框架 JavaScript 前端开发
WEBGIS管理模块实现
WEBGIS管理模块实现
28 3
|
4天前
|
存储 缓存 负载均衡
跨越界限:前端与后端的协同优化
在当今快节奏的技术环境下,前端与后端的协同优化成为了提升应用性能和用户体验的关键。本文探讨了如何通过前后端的紧密合作,实现更高效的数据传输、渲染优化以及系统性能提升,从而构建出更加流畅、响应迅速的应用程序。
|
4天前
|
设计模式 前端开发 数据处理
MVC架构中,控制器和模型之间是如何交互的
MVC架构中,控制器和模型之间是如何交互的
16 0
|
4天前
|
前端开发 JavaScript 测试技术
前端模块规划
前端模块规划
17 1
前端模块规划
|
7月前
|
前端开发 芯片
【芯片前端】保持代码手感——一对多的握手拆分模块
【芯片前端】保持代码手感——一对多的握手拆分模块
|
10月前
|
存储 开发框架 缓存
数据流动的精妙之道——UniApp中的数据通信与状态管理解析
数据流动的精妙之道——UniApp中的数据通信与状态管理解析
|
存储 算法 JavaScript
Tubes响应性数据系统的设计与原理
本文详细介绍了响应性数据系统在 Tubes 中的运用,以及响应性数据系统的三种不同设计与原理。 Tubes是一套面向C端搭建场景,支持灵活扩展、极致性能和高稳定性的终端渲染解决方案,目前广泛运用在淘宝、天猫,包括:双11、618会场、淘宝新人版首页等业务场景。
516 0
Tubes响应性数据系统的设计与原理
|
定位技术 开发者
业务中台构建策略:划分子域、上下文、事件风暴、需求结构化和能力可配置(1)
业务中台构建策略:划分子域、上下文、事件风暴、需求结构化和能力可配置(1)
237 0
业务中台构建策略:划分子域、上下文、事件风暴、需求结构化和能力可配置(1)
|
搜索推荐 前端开发 数据格式
业务中台构建策略:划分子域、上下文、事件风暴、需求结构化和能力可配置(3)
业务中台构建策略:划分子域、上下文、事件风暴、需求结构化和能力可配置(3)
292 0
业务中台构建策略:划分子域、上下文、事件风暴、需求结构化和能力可配置(3)