基于Java Web的图形化电网线损计算

引言

在各种电力系统应用软件中, 电力图形化表达的重要组成部分。鉴于目前各种电力系统大多数为B/S结构, 而基于浏览器的矢量图编辑和展示技术已成为当下的热门课题。电力系统的发展迫切需要推出一种图形标准来避免重复的劳动和不同厂商图形格式之间的不兼容。

文献中阐述了多比图形控件在电力系统软件领域的应用及其关键问题,并且指出多比图形控件可以提升基于 Web的电力系统软件图形化的特性,不过对于基于多比图形控件的图形系统如何构建以及如何有效的将多比图形控件应用到电力系统软件中在文中并没有深入探讨。本文将集中探讨如何使用Java/多比图形控件技术实现电力图形系统,在系统设计、多比图形控件的绘制、关联配置数据库的设计以及图形同步刷新和图形事件处理等方面进行了深入的探讨。

多比图形控件简介

作为新的富客户端互联网技术, Flex这种技术已经在越来越多的电力图形化应用中采用。 使用Flex的富客户端应用,解决了异步调用,界面无刷新,浏览器兼容性等多项难题。用任何你熟悉的WEB编程语言,如.net,php,jsp,webservice等等,作为后台数据访问层,可以使用。

然而,对于企业级应用开发来说,缺乏有经验的Flex程序员是不争的实事。大多数的软件开发企业并没有专门的Flex程序员, 这使得原生的Flex程序开发变得困难重重。和Flex原生程序编程相比较,多比控件采用Flex+Javascript的方式。 它一方面利用了Flex的强大图形表现力;在另外一方面,采用100%的纯Javascript API接口的方式,降低了学习的难度曲线。Javascript程序员很多,即使不会, java/.net程序员学习起来也很容易。Javascript异常和错误,非常容易调试,并且可以利用浏览器的内部调试工具在线调试。

多比图形控件是一款基于Web(VML和SVG技术)的矢量图形控件, 类似于网页上的Visio控件。多比图形控件具有类似Visio那样的设计界面,允许用户非常方便地制作自己的图形符号,绘制漂亮的矢量图形。同时,多比控件也对位图支持的非常好,对jpg、gif和png全面支持。 多比控件可以容易的访问web上的图片,这使得应用的集成和更新都更加的容易。多比控件图形的基本属性繁多,基本能涵盖了目前电力图形化应用的各种需求。控件中的图元有非常严格的继承关系, 利用继承、多态、和覆盖技术, 用户可以轻易的修改图元的行为,定制自己的专属的矢量图形应用,而不需要修改一行多比的核心代码。这种机制保证了每一次多比控件的更新,程序员都可以透明的更新。

图形同步刷新和事件处理的实现

图形的同步刷新和图形事件处理是图形系统运作的核心。图形同步刷新指的是实时图元必须与实时数据对象相关联,以不同的样式显示不同的实时 状态,满足同步速度足够快使图形的显示与实时数 据的刷新同步。图形事件处理指多比图形控件画面中某些 图元能够响应鼠标事件或其它事件,这样才能在触 发图元的某些事件(比如鼠标点击)的时候,系统可以执行相应操作。

多比图形控件直接使用Javasript语言对多比图形控件文档及图元操纵的方法,可以在Javasript语言中直接对多比图形控件文档添加、删除和修改图元属性。多比图形控件采用面向对象和松耦合的方式, 使得程序存取数据和更新图形界面成为两个互不干扰的过程。 程序员可以通过AJAX,HTTP长连接,甚至是HTML5中Websocket的方式存取数据, 成功获取数据后, 才利用多比提供的API, 刷新Web的Flex界面。实时数据刷新的同时,画面也会同步刷新。

自定义电力矢量图元

电力图形系统中,往往包含有多种图元, 电力CIM标准也对此有详细的说明。 为了保障电力图形系统中的图元表达的灵活性, 图形控件一定要具备自定义图元的能力。 矢量图元是根据几何特性来绘制图形,矢量可以是一个点、一条线、圆等等的几何形状。它的特点是放大后图像不会失真,和分辨率无关,文件占用空间较小。

那么如何定义一个下面类似的变压器图元呢? 注意图中的图形,都是由同一个图元,设置不同的长宽得来的。

每一个图元,都有一个draw函数,我们只需要覆盖这个draw函数就可以了。具体的代码见下面。

//定义一个电阻的矢量图元

DianluShapes.Dianzhu = StandardShapes.Rectangle.extend({

//重载draw函数,让

draw: function () {

this.logDebug("draw(), r=%s", this.r);

this.setupGraphics();

var changdu = 20;

//画左边的接线点

this.canvas.drawLine(this.id, -this.width / 2, 0, -changdu / 2, 0);

//画中间的电阻

this.canvas.drawRect(this.id, -changdu / 2, -this.height / 2, changdu, this.height);

//画右边边的接线点

this.canvas.drawLine(this.id, changdu / 2, 0, this.width / 2, 0);

}

});

自定义电力图元属性

多比图形数据本身只包含用来实现矢量图形显示的信息,如坐标点、显示样式等信息,而不包含和业务相关的数据。为了满足电力系统的需要,多比图形控件采取了基于XML/JSON格式的数据存储方式,除了使用其内置的属性外,可以对其属性进行任意扩充,以实现自定义的功能。 自定义数据对象是顶点或连线表示的后台数据。它可以是图形和形状相关的数据,也可以是元素对应的后台业务数据。 例如,一个节点,代表发电机,而发电机的资产标号, 设备技术参数等业务逻辑数据就可存储在自定义数据对象中。自定义数据对象可以是字符串,也可以是更复杂的javascript对象。

自定义数据非常简单, 例如

sa.onready = function(){

var cld = sa.getShapeByPath("Cloud-0");

cld.yourdata = "资产编号";

}

定义了数据以后,我们就可以使用cld.yourdata来取得。一个比较有意思的需求是,我们如何在属性编辑器中看到我们自定义的数据,并且让他持久化下来。(保存到数据库,XML中等等)

这就需要我们覆盖getUserProperties函数,变成以下的样子:

getUserProperties: function() {

return [{

title: "我的数据",

name: "yourdata",

type: "string"

}];

},

如果还需要用户定义宽度,高度,颜色等, 我们可以先获得基类的属性,再把我们的数据添加上去。

getUserProperties: function() {

//将基类的数据,和我们的数据合并在一起

return jQuery.merge(

//调用基类的方法,获取基类的用户数据

this.base(),

[{

title: "我的数据",

name: "yourdata",

type: "string"

}]

);

},

时间: 2024-10-13 03:02:09

基于Java Web的图形化电网线损计算的相关文章

基于JAVA WEB技术旅游服务网站系统设计与实现网上程序代写

基于JAVA WEB技术旅游服务网站系统设计与实现网上程序代写 专业程序代写服务(QQ:928900200) 随着社会的进步.服务行业的服务水平不断发展与提高,宾馆.酒店.旅游等服务行业的信息量和工作量日益变大,而传统的人工管理方式已经远远不能满足现在旅游的服务方式.传统的旅游方式经分析其有诸多的缺陷,存在数据维护效率低下,不易保管,容易丢失和出错.同时查询也不方便,劳动力成本过高导致的旅游资源信息不方便,也在一定程度上导致了对各种信息反应缓慢,容易丧失商机.为了弥补上述缺陷,便于开展旅游预订工

基于 Java Web 的毕业设计选题管理平台--选题报告与需求规格说明书

一.选题报告 目录 团队名称 团队成员 项目名称 项目描述 创新与收益 用户场景分析 真实用户调研 未来市场与竞争 项目导图 比例权重 总结 1.团队名称--指南者团队 2.团队成员 孔潭活:2015034643032 何德新:2015034643017 吴淑瑶:2015034643018 苏咏梅:2015034643025 李茵敏:2015034643012 3.项目名称--基于 Java Web 的毕业设计选题管理平台 4.项目描述 在大多学校中的毕业论文双向选择管理大多都是采用了人工进行管

基于Java Web的猜歌游戏设计与实现

获取项目源文件,技术交流与指导联系Q:1225467431 摘   要 随着社会的不断发展,越来越多的人面临的压力越来越大,人们渴望随时随地都能放松自我.然而游戏正成为人们释放压力,放松自己最行之有效的娱乐方式之一.而基于Java Web的猜歌游戏以其界面美观,操作简单,对硬件要求低等优点将会备受大家的青睐.系统通过数据库对用户基本信息和歌曲信息进行统一管理,借助经典的框架Servlet对数据进行处理,又选择了前端一些功能强大的插件对数据进行展示,将猜歌与游戏很好的结合起来,意在给用户创造了一个

基于Java Web的新闻发布系统设计与实现

获取项目源文件,技术交流与指导联系Q:1225467431 摘要:现如今快速发展的互联网,已成为新兴的媒体发布形式,逐步影响到传统媒体行业的发展.与传统的信息传播媒体如电视.广播.报纸等相比,电脑.智能手机等终端因其传递信息方便.快捷,并满足人们对外界瞬息万变的信息的好奇心的特点,使得人们对网络新闻媒体越来越依赖.针对上述状况,推出了基于Java Web的新闻发布系统,在开发中基于My Eclipse平台,采用Tomcat 服务器,使用数据库My SQL.系统具有很好的人机界面,不仅实现了管理员

基于java web+mysql的登录注册系统

 结对编程二人项目 组员:王刚029   齐凤霞007 项目名称:基于java web+mysql的登录注册系统 软件需求: 1,任何基于B/S或者C/S的软件都离不开基本的登录注册,我们决定采用B/S结构+MySQL数据库来完成基本的登录注册功能2,采用简单的JSP+Servlet+MySQL完成登录,注册功能3,登录,注册界面信息的回显,数据格式的校验功能 说明: 1,采用MVC模式,降低了代码的耦合性整体架构:>jsp显示页面和回显数据>Servlet负责处理jsp提交的数据>Se

Java学习之图形化界面(Swing基础)

Java学习之图形化界面(Swing基础) 一.Java图形化界面发展史 起初在早期的计算机系统中,电脑只提供命令行界面(CLI),现在在Windows中开个DOS窗口,就可以历史足迹,这就是命令行界面在 现在Windows界面中的体现. 后来Apple公司率先在电脑的操作系统中实现了图形化的用户界面(Graphical User Interface,简称GUI),但由于Apple公司封闭的市场策略,自己完成电脑硬件.操作系统.应用软件一条龙的产品,与其它PC不兼容.这使得Apple公司错过了一

Java毕业设计----基于Java web的在线试题库管理系统

联系qq:2835777178 有兴趣者可先看代码运行视频再决定 部分论文: 目录 1 前 言 1 1.1 在线试题库管理系统现状 1 1.2 在线试题库管理系统的意义 2 2 系统的开发环境及技术简介 2 2.1 Eclipse简介 4 2.2 JSP简介 4 2.3 TOMCAT简介 4 2.4 MYSQL简介 4 3 系统可行性分析 5 3.1可行性分析 5 3.1.1经济可行性 5 3.1.2技术可行性 5 3.1.3操作可行性 5 4系统设计 6 4.1设计思想 6 4.2系统总体功能

基于java web的机票订购管理系统设计与实现

获取项目源文件,技术交流与指导联系Q:1225467431 摘  要 随着社会发展的不断进步,民航事业的壮大,人们消费水平的提高,乘坐民航的消费者也越来越多,旅游也逐渐成为普通老百姓的生活组成部分,飞机票预定查询系统在各机票预定网点中的作用也越显重要.目前,我国一些旅行社和酒店的机票预定还停留在人工处理阶段,这已经严重制约了工作效率,在计算机技术高速发展的今天,有必要引入高效的计算机系统,来协助处理机票预定工作.因此,开发一套具有完整的存储,查询,核对,打印机票功能的实时机票预定系统势在必行.

基于Java Web SSH框架的网上书店

获取项目源文件,技术交流与指导联系Q:1225467431 摘   要 随着互联网技术的发展,网上购物越来越流行,而网上书店更是逐渐受到越来越多的人关注,不用涉及交通.不用到书店翻阅.即可看到全国各地的书籍价格.更加全面地搜索自己喜欢的书籍.需要的书籍.通过网络销售系统的平台,商家将拥有更大的市场,能更加及时快速地得到用户对于商品的反响,可以随时调整销售策略,提高商家的市场竞争力.对于消费者也提供了方便,消费者可以不受时间和地域的限制进行购物,并且可以获取更多信息.. 本文阐述了如何构建基于B/