基 于 SVG 和 Surfer 的 配 电 网 节 点 电 压 可 视 化 1 方 文 道 1 孙 家 杰 2 章 坚 民 1 王 浩 1 刘 大 叶 2 (1. 杭 州 电 子 科 技 大 学 浙 江 杭 州 310018; 2. 浙 江 淳 安 县 供 电 局 浙 江 淳 安 311700) 摘 要 : SVG(Scalable Vector Graphics) 作 为 电 力 系 统 未 来 统 一 的 图 形 标 准, 在 Web 图 形 数 据 的 开 放 式 发 布 上 得 到 了 广 泛 的 应 用 该 文 提 出 将 SVG 和 Surfer 技 术 结 合 起 来, 将 SVG 作 为 配 电 网 监 视 图 形 可 视 化 的 基 础, 利 用 专 业 绘 图 软 件 Surfer 强 大 的 绘 图 功 能, 充 分 发 挥 可 视 化 编 程 语 言 VB 的 图 形 用 户 界 面 和 编 译 特 点, 在 VB 平 台 上 实 现 配 电 网 节 点 电 压 等 值 线 的 可 视 化 显 示 实 际 应 用 表 明, 在 配 电 网 监 控 系 统 中 采 用 该 技 术, 能 够 方 便 快 捷 准 确 地 绘 制 大 量 的 等 值 线, 为 配 电 网 的 安 全 分 析 提 供 了 及 时 有 效 的 工 具, 具 有 良 好 的 应 用 前 景 关 键 词 : 配 电 网 监 视 ; 可 视 化 ; 节 点 电 压 ; 等 值 线 ; SVG; surfer Visualization for Nodal Voltage of Distribution Power Network Based on SVG and Surfer FANG Wen-Dao 1, SUN Jia-Jie 2, ZHANG Jian-Min 1, WANG Hao 1, LIU Da-Ye 2 (1. Hangzhou Dianzi University, Hangzhou, 310018, China; 2.Chun an County Electric Power Bureau, Chun an, 311700, China) Abstract: As a unified graphics standard of power systems in the future, SVG( Scalable Vector Graphics) is widely used in Web. This paper integrates SVG and Surfer technologies and uses SVG as the basis of power system visualization to implement the visualization for nodal voltage of power systems in the platform of VB. Practical application shows that in the distribution power network monitoring systems using this technology to draw a large number of contour lines is convenient, fast and accurate. It has a good application prospects. Keywords: monitoring of distribution power network; Visualization; Node voltage; contours; SVG; surfer 1 引 言 SVG 是 由 W3C 组 织 开 发 的 一 种 开 放 标 准 的 文 本 式 矢 量 图 形, 在 Web 图 形 数 据 的 开 放 式 发 布 上 得 到 了 广 泛 的 应 用 国 际 电 工 技 术 委 员 会 (IEC) 所 提 议 的 IEC61970 已 成 为 电 力 企 业 进 行 应 用 集 成 时 采 用 的 国 际 标 准, 其 中 的 SVG 描 述 了 系 统 间 的 图 形 交 互 如 果 以 SVG 作 为 电 力 系 统 可 视 化 的 图 形 基 础, 可 以 规 范 图 形 和 数 据 的 传 输 格 式, 极 大 提 高 各 系 统 之 间 互 操 作 实 现 的 有 效 性, 现 在 国 内 已 经 有 很 多 在 这 方 面 的 积 极 的 探 索 和 研 究, 取 得 了 不 错 的 成 果 [1 _ 3] 同 时 随 着 Inter -net 的 发 展, 基 于 Web 的 电 力 系 统 应 用 也 越 来 越 普 遍,SVG 可 以 有 效 地 实 现 电 力 系 统 可 视 化 图 形 的 Web 发 布 SVG 的 语 法 和 结 构 都 是 基 于 XML 的, 有 着 良 好 的 数 据 组 织 形 式 和 开 放 标 准 的 特 点,Surfer 具 有 强 大 的 绘 图 和 插 值 功 能, 利 用 Surfer 和 VB 编 程 语 言 之 间 的 ActiveX 自 动 化 连 接 技 术, 将 Surfer 强 大 的 绘 图 功 能 与 VB 编 制 交 互 界 面 程 序 的 优 势 相 结 合, 通 过 VB 调 用 Surfer 的 绘 图 函 数, 实 现 电 力 系 统 节 点 电 压 等 值 线 的 自 动 绘 制 VB 具 有 面 向 对 象 简 单 可 移 植 与 平 台 无 关 等 优 点, 使 其 非 常 适 合 开 发 工 程 系 统 SVG 技 术 和 Surfer 技 术 的 结 合 可 以 充 分 发 挥 各 自 的 优 点, 在 1 收 稿 时 间 :2010-03-11; 收 到 修 改 稿 时 间 :2010-04-05 260 产 品 应 用 Product Applied
计 算 机 系 统 应 用 VB 的 开 发 平 台 上 进 行 SVG 的 应 用 开 发 在 配 电 网 可 视 化 实 践 中 是 可 行 的 本 文 主 要 阐 述 了 如 何 用 SVG 和 Surfer 技 术 实 现 配 电 网 节 点 电 压 的 可 视 化 显 示 1 SVG 技 术 和 Surfer 软 件 概 述 SVG 是 基 于 XML 来 描 述 二 维 矢 量 图 型 的 一 个 开 放 标 准, 它 用 文 本 格 式 的 描 述 性 语 言 来 描 述 图 像 内 容, 因 此 是 一 种 和 图 像 分 辨 率 无 关 的 矢 量 图 形 格 式 它 具 有 以 下 优 点 :1 图 像 文 件 可 读, 易 于 修 改 和 编 辑 2 与 现 有 技 术 可 以 互 动 融 合 3SVG 图 形 格 式 支 持 多 种 滤 镜 和 特 殊 效 果, 在 不 改 变 图 像 内 容 的 前 提 下 可 以 实 现 位 图 格 式 中 类 似 文 字 阴 影 的 效 果 4SVG 图 形 格 式 可 以 用 来 动 态 生 成 图 形 例 如, 可 用 SVG 动 态 生 成 具 有 交 互 功 能 的 地 图, 嵌 入 网 页 中, 并 显 示 给 终 端 用 户 在 动 态 环 境 中, SVG 可 以 很 方 便 地 通 过 JavaScript 和 XML 的 DOM 动 态 生 成 图 形, 对 于 图 形 的 编 辑 和 发 布, 这 项 特 征 是 极 其 重 要 的 基 于 以 上 优 点, 电 力 图 形 系 统 一 般 都 是 采 用 SVG 来 实 现 Golden Software Suffer 9.0( 以 下 简 称 Suffer) 是 美 国 Golden Software 公 司 研 制 开 发 的 一 款 三 维 图 形 绘 制 软 件, 它 的 主 要 功 能 是 绘 制 等 值 线 图 (contour map), 此 外 它 还 可 以 绘 制 post map classed post map vector map image map wireframe map 3d surface map 等 形 式 的 图 形, 并 且 还 具 界 面 友 好, 速 度 快, 可 任 意 填 充 颜 色, 可 用 于 多 种 格 式 导 出 图 形 从 Surfer7.0 开 始, 软 件 就 增 加 了 Automation 技 术, 支 持 Visual Basic 语 言 的 二 次 开 发 ActiveX 技 术 是 应 用 程 序 间 进 行 集 成 和 控 制 的 一 项 先 进 技 术, 利 用 该 技 术 将 VB 与 Surfer 结 合 在 一 起, 不 仅 发 挥 了 可 视 化 语 言 VB 的 强 大 图 形 用 户 界 面 和 编 译 特 点, 又 很 好 地 利 用 Surfer 优 秀 的 图 形 绘 制 功 能 因 此,Surfer 已 经 广 泛 地 应 用 于 地 质 测 绘 水 利 气 象 土 地 资 源 等 领 域, 并 取 得 了 一 定 的 成 果 如 王 志 春 等 人 利 用 Surfer 软 件 绘 制 了 气 象 等 值 线 图 [4]; 陈 志 波 等 人 研 究 了 Surfer 在 环 境 评 价 和 规 划 中 的 应 用, 肯 定 了 Surfer 在 环 境 评 价 与 规 划 中 的 作 用 [5] 但 国 内 目 前 还 没 有 出 现 Surfer 在 配 电 网 中 的 应 用 研 究 SVG 图 形 导 出 模 型 和 数 据 为 了 实 现 不 同 数 据 库 技 术 的 系 统 间 的 交 互,IEC 提 出 了 基 于 CIM 公 共 信 息 模 型 的 解 决 方 案 配 电 网 中 数 据 和 信 息 都 存 在 SVG/XML 文 档 中 如 下 为 某 变 电 站 线 路 层 的 SVG/XML 文 档, 其 id 为 aclinelayer, stroke-width 标 明 线 的 宽 度, 并 给 出 了 线 路 的 地 理 位 置 坐 标 <g id="aclinelayer"> <g id=" 安 白 1567 线 " class="kv110"> <line stroke-width="1" y1="121" y2="140" x1="903" x2="903" /> </g> 通 过 Dom4j 技 术 对 该 XML 文 档 进 行 解 析, 并 通 过 应 用 程 序 编 程 接 口 JDBC 建 立 与 数 据 库 Oracle 的 连 接 和 交 互, 将 解 析 出 的 数 据 存 入 数 据 库 中 相 应 的 表 中 ( 如 表 1) 表 1 线 路 表 Id 安 白 1567 线 Voltagelevel 110KV X1 903 Y1 121 X2 903 Y2 140 利 用 SVG 和 Surfer 实 现 配 电 网 节 点 电 压 的 可 视 化 显 示 的 原 理 如 下 : 首 先, 从 SVG 中 解 析 出 电 网 各 节 点 的 地 理 信 息 和 节 点 电 压 值 接 着, 在 VB 平 台 上 利 用 Surfer 技 术 绘 制 节 点 电 压 的 等 值 线, 最 后, 把 生 成 的 等 值 线 位 图 嵌 入 到 SVG 中, 生 成 并 显 示 新 的 SVG 本 系 统 要 实 现 的 电 网 节 点 电 压 可 视 化 的 步 骤 如 图 1 所 示 2 配 电 网 节 点 电 压 可 视 化 实 现 方 法 SVG 是 基 于 XML 的 开 放 性 图 形 标 准, 里 面 具 有 很 多 数 据 信 息, 是 图 模 数 交 换 的 载 体 [6], 可 以 实 现 由 模 型 数 据 实 现 到 SVG 图 形 的 自 动 生 成 [7], 或 由 图 1 可 视 化 的 实 现 步 骤 Product Applied 产 品 应 用 261
3 基 于 SVG 和 Surfer 的 可 视 化 3.1 SVG 图 形 数 据 的 获 取 首 先, 读 取 SVG 图 形 读 取 XML 文 档 主 要 依 赖 于 org.dom4j.io 包, 其 中 提 供 DOMReader 和 SAXReader 两 类 不 同 方 式, 而 调 用 方 式 是 一 样 的 其 中,reader 的 read 方 法 是 重 载 的, 可 以 从 InputStream, File, Url 等 多 种 不 同 的 源 来 读 取 得 到 的 Document 对 象 就 代 表 了 整 个 XML 接 着, 通 过 Dom4j 解 析 XML 文 档, 得 到 XML 的 字 段 及 表 的 属 性 值 解 析 XML 文 档 从 读 取 XML 文 档 并 创 建 一 个 Document 对 象 开 始, 先 创 建 DocumentBuilderFactory, 然 后 使 用 它 来 创 建 DocumentBuilder 这 个 DocumentBuilder 是 实 际 的 解 析 器, 它 获 得 XML 文 件, 然 后 读 取 每 一 个 元 素 以 创 建 一 个 Document 对 象 一 旦 创 建 了 Document, 就 循 环 处 理 数 据 最 后, 通 过 应 用 程 序 编 程 接 口 JDBC 建 立 与 数 据 库 Oracle 的 连 接 和 交 互, 把 解 析 出 的 数 据 导 入 到 数 据 库 中 整 个 系 统 的 设 计 框 图 如 下 图 ( 图 2): Windows 系 统 的 同 意 管 理 下, 协 调 不 同 的 应 用 程 序, 准 许 这 些 应 用 之 间 相 互 沟 通 相 互 控 制 它 通 过 在 两 个 程 序 间 安 排 对 话, 达 到 一 个 程 序 控 制 另 一 个 程 序 的 目 的 其 过 程 为 : 首 先 一 个 应 用 程 序 决 定 引 发 ActiveX Automation 操 作, 这 个 应 用 程 序 自 动 成 为 Client, 被 它 调 用 的 应 用 程 序 成 为 Server Server 收 到 对 话 请 求 后, 决 定 暴 露 哪 些 对 象 给 Client 在 给 定 时 刻, 由 Client 决 定 实 际 使 用 哪 些 对 象, 然 后 ActiveX Automation 命 令 被 传 给 Server, 由 Server 对 命 令 做 出 反 应 Client 可 以 持 续 地 发 出 命 令,Server 忠 实 地 执 行 每 一 条 命 令, 最 后 由 Server 提 出 终 止 对 话 [8-13] 在 VB6.0 中 调 用 Surfer 进 行 嵌 入 式 编 程 工 作 原 理 如 下 图 ( 图 3) 图 3 VB6.0 调 用 Surfer 应 用 编 程 工 作 原 理 图 图 2 程 序 设 计 框 图 本 系 统 采 用 Dom4j 解 析 XML 文 档, 由 于 Dom4j 是 一 个 开 源 的 易 用 的 库, 性 能 非 常 出 色, 因 此 本 系 统 的 运 行 效 率 比 较 高 通 过 解 析 程 序, 可 以 从 SVG 中 解 析 出 各 节 点 的 地 理 信 息 和 电 压 值, 并 写 到 相 应 的 数 据 表 中 3.2 利 用 Surfer 绘 制 等 值 线 3.2.1 Surfer 的 Active 功 能 Surfer9.0 是 目 前 最 新 的 版 本,Surfer 提 供 了 ActiveX 自 动 化 对 象, 因 此 支 持 VB 调 用 Surfer 的 每 个 功 能 ActiveX 是 Microsoft 提 出 的 一 组 基 于 COM(Component Object Model, 部 件 对 象 模 型 ) 的 技 术 集, 它 与 具 体 的 编 程 语 言 无 关 其 宗 旨 是 在 3.2.2 在 VB 中 引 用 Surfer 对 象 以 VB 作 为 开 发 工 具, 首 先 必 须 在 其 环 境 中 引 用 与 Surfer 有 关 的 库, 使 VB 能 够 调 控 Surfer 及 其 下 属 对 象 在 VB 的 集 成 开 发 环 境 中, 通 过 工 程 菜 单 中 的 引 用 命 令, 将 所 要 用 的 库 选 中 在 Windows 注 册 表 中,Surfer 的 ActiveX 对 象 名 为 Surfer 8 Type Library 首 先 要 在 VB 应 用 程 序 中 创 建 ActiveX 对 象 在 VB 应 用 程 序 中 创 建 Surfer 对 象 的 具 体 步 骤 如 下 : Dim SurferApp As Object Set SurferApp=CreateObject( Surfer.Application ) 然 后, 就 可 以 使 用 这 个 对 象 所 包 含 的 各 种 方 法 和 属 性 实 现 对 Surfer 的 调 用 3.2.3 自 动 绘 制 图 形 在 面 向 对 象 的 编 程 语 言 中,VB 具 有 简 单 且 优 秀 的 262 产 品 应 用 Product Applied
计 算 机 系 统 应 用 可 视 化 开 发 环 境 课 题 以 VB 作 为 主 体 编 程 语 言, 引 入 Surfer 控 件 后, 用 Object 声 明 其 对 象 变 量, 功 能 实 现 的 系 统 结 构 框 图 如 图 4 所 示 图 4 功 能 实 现 的 系 统 结 构 框 图 (1) 创 建 Surfer 的 Active 对 象 Dim SurferApp As Object Set SurferApp=CreateObject( Surfer.Application ) 其 中 CreateObject 是 Visual Basic 提 供 的 一 个 方 法, 它 创 建 并 返 回 一 个 对 ActiveX 对 象 的 引 用 CreateObject 方 法 在 系 统 注 册 表 里 查 找 Surfer.Application 项, 并 自 动 激 活 Surfer 服 务 (2) 建 立 绘 图 文 档 和 绘 图 窗 口 Dim SurDocument As Object Set SurferApp=CreateObject( Surfer Application ) Set SurDocument=SurferApp.Document.Add( srfdocplot ) Dim Plotwindow As Object Set Plotwindow=Docu.Windows(1) (3) 生 成 wireframemap, 并 将 生 成 的 Surfer 图 形 导 出 Dim wireframemap As Object SetWireMapFrame=Doc.Shapes.AddWireframe( GridFile) Dim wireframe As Object Set wireframe=wiremapframe.overlays(1) 其 中 参 数 GridFile 是 网 格 文 件 名 (.grd), 可 以 是 已 存 在 的 或 者 通 过 GridData 网 格 化 方 法 来 生 成 网 格 文 件 的 生 成 方 法 : SurferApp.GridData( D:\surferdata\rferl.xls,s rfkriging,false, D:\surferdata\surferl.grd ) 其 中 surferl.xls 是 输 人 的 数 据 文 件 名 SrfKriging 表 示 所 选 择 的 网 格 化 方 法 是 克 力 金 插 值 法 Surferl.grd 是 新 生 成 的 网 格 文 件 Doc.Export Surferl.bmp=Surfer.bmp.Options( Defaults=1,Wi dth=1013, Height=709,ColorDepth=24 ) 其 中 Width,Height 分 别 是 导 出 位 图 的 宽 度 高 度. 以 像 素 为 单 位 Width 和 Height 的 值 决 定 了 导 出 的 位 图 的 大 小 ColorDepth 决 定 了 所 导 出 的 位 图 的 格 式, 有 四 个 选 择 项 :1( 代 表 单 色 ),4( 代 表 16 色 ),8( 代 表 256 色 ) 和 24( 代 表 真 彩 色 ) 3.3 把 等 值 线 位 图 嵌 入 SVG 并 显 示 在 SVG 中, 可 以 使 用 <image> 元 素 来 引 用 外 部 的 点 阵 图 像 ( 包 括 PNG 和 JPEG 格 式 ),<image> 元 素 引 用 点 阵 图 像 时, 会 在 SVG 图 像 中 开 辟 一 个 矩 形 区 域 将 所 引 用 的 图 像 载 入, 这 个 矩 形 区 域 的 位 置 由 <image> 元 素 的 x y width 与 height 属 性 所 决 定, 其 左 上 角 的 坐 标 是 (x,y), 右 下 角 的 坐 标 是 (x+width,y+height) 其 语 法 为 : <image x= 0 y= 0 width= 100 height= 100 xlink:href= somepicture.png /> <image> 元 素 的 5 个 属 性 中, x, y 可 以 缺 省, 其 缺 省 值 为 0, width 与 height 是 必 须 说 明 的, 不 可 缺 省 也 不 可 为 零, xlink:href 引 用 外 部 图 像 文 件 somepicture.png 因 此, 可 以 通 过 设 置 x y width 与 height 的 属 性 值, 使 嵌 入 的 位 图 大 小 与 SVG 图 形 相 吻 合 4 实 例 应 用 图 5 电 压 等 值 线 可 视 化 显 示 Product Applied 产 品 应 用 263
利 用 本 文 所 述 的 方 法 对 某 电 力 局 提 供 的 24 个 节 点 简 化 系 统 进 行 了 电 压 等 值 线 的 可 视 化 显 示, 如 图 5 所 示 通 过 分 层 设 色 节 点 电 压 等 值 线 示 意 图, 可 以 清 晰 地 看 出 各 个 节 点 的 电 压 高 低 情 况 在 配 电 网 的 实 时 运 行 中, 大 范 围 的 低 压 现 象 往 往 是 电 压 稳 定 破 坏 的 前 兆 运 行 人 员 可 以 根 据 低 电 压 的 范 围 和 严 重 程 度 对 电 网 稳 定 性 做 出 评 估 并 及 时 采 取 对 策 5 结 论 介 绍 了 如 何 将 SVG 和 Surfer 技 术 各 自 的 优 势 结 合 起 来, 将 SVG 作 为 配 电 网 图 形 可 视 化 的 基 础, 用 专 业 的 绘 图 软 件 Surfer 优 秀 的 绘 图 功 能, 充 分 发 挥 了 可 视 化 编 程 语 言 VB 的 图 形 用 户 界 面 和 编 译 特 点, 在 VB 平 台 上 实 现 配 电 网 节 点 电 压 等 值 线 的 可 视 化 显 示 等 高 线 可 视 化 方 法 的 实 现 不 仅 为 电 网 运 行 人 员 提 供 了 一 个 全 局 宏 观 的 信 息, 而 且 有 利 于 提 高 监 控 系 统 对 故 障 的 预 警 能 力, 有 很 大 的 应 用 前 景 参 考 文 献 1 石 东 源, 卢 炎 生, 王 星 华, 段 献 忠. SVG 及 其 在 电 力 系 统 软 件 图 形 化 中 的 应 用 初 探. 继 电 器, 2004,32(16): 37-40. 2 刘 崇 茹, 孙 宏 斌, 张 伯 明, 董 越, 辛 耀 中. 基 于 CIM XML 电 网 模 型 的 互 操 作 研 究. 电 力 系 统 自 动 化, 2003,27 (14):45-48. 3 朱 丽 娟, 王 康 元, 张 洁. 基 于 SVG 和 Java 的 电 力 系 统 节 点 电 压 可 视 化. 继 电 器, 2006,34(5):60-61. 4 王 志 春, 杨 军, 胡 桂 杰. 基 于 Surfer Automation 接 口 的 气 象 等 值 线 图 的 绘 制. 内 蒙 古 气 象, 2006,31-33. 5 陈 志 波, 陆 雍 森.Surfer 在 环 境 评 价 和 规 划 中 的 应 用. 同 济 大 学 学 报 ( 自 然 科 学 版 ), 2005,33(2):191-195. 6 章 坚 民, 徐 爱 春, 李 海 翔 等. 基 于 SVG/XML/CIM 的 变 电 站 自 动 化 工 程 配 置 系 统. 电 力 系 统 自 动 化, 2004, 28(14):53-56. 7 Zhang Jianmin, Xu Aichun, Li Haixiang et al. An Automatic Engineering Configuration System for Substation Automation Based on SVG/XML/CIM. Automation of Electric Power Systems, 2004,28(14): 53-56. 8 章 坚 民, 楼 坚. 基 于 CIM/SVG 和 面 向 对 象 的 配 电 单 线 图 自 动 生 成. 电 力 系 统 自 动 化, 2008,32(22):61-65. 9 吴 延 霞. Surfer 软 件 嵌 入 VB 编 程 在 激 光 平 地 系 统 中 的 应 用. 德 州 学 院 学 报, 2006,12(6):101-102. 10 尼 建 军, 张 学 宏. Surfer 7.0 嵌 入 VB 6.0 编 程 实 现 水 文 数 据 快 速 可 视 化. 海 洋 测 绘, 2005,25(1),64-65. 11 韩 丽 娜, 石 昊 苏. 利 用 Surfer 8.0 绘 制 地 质 等 值 线 图. 计 算 机 与 现 代 化, 2008,11:85-88. 12 张 二 勇, 李 云 峰, 王 玮. Surfer 软 件 绘 图 接 口 的 开 发 及 应 用. 地 下 水, 2005,27(3):212-214. 13 Zhang Bangjun, Guo Chunyan, Di Guoqing. A new approach of drawing airport noise contours on computer based on Surfer. Journal of Environment Science, 2004,16(4):576-580. 264 产 品 应 用 Product Applied