图模导入原理之 SVG图形基础与图形导入
一、svg图形基础
PMS图形中,图形svg文件内容一般由两部分组成:
1、<defs>标签中定义的是图元信息,即各种不同设备不同状态的图元应该如何显示;
2、各种<XXXXXX_Layer>标签中定义的是各种不同的设备信息,如开关通常定义在<Breaker_Layer>层中,然后在Breaker_Layer下的数据中去描述各开关的属性信息。

二、<defs>标签定义
<defs>标签中主要定义不同电压等级的显示颜色及图元信息,包含的标签为:
1、<style>标签内容

2、<symbol>标签内容主要包含各同图元信息

在图形导入时,读入svg文件内容时,会根据定义好的名称截取规则,获取图元名称,并判断在本机data/icon路径下是否有相应图元,如无相应图元则会自动将svg文件中描述的图元信息保存成data/icon下的ivg图元文件,以供dms调用该图元。
导出到data/icon路径下的图元如下:

三、<XXX_Layer>标签内容
各Layer标签中,定义的主要为各设备信息,以Breaker_Layer为例说明。

Breker_Layer标签下的各个<g>标签则分别定义各个开关信息,以其中一个<g>标签为例说明。

其中开关的相关描述如下:
1、设备的rdfid;
2、该设备引用的图元,即<defs>标签中描述的相应图元;
3、设备的rdfid,将会写到导入后的图形文件的“自定义属性”中,通过gd打开图元可查看;
4、设备的名称;
5、设备所属图层。
需要说明的是,不修改特别的设置时,在图形导入过程中,使用1中的rdfid作为唯一性标识,到实时库或商用库中去搜索设备的ID,并添加相应设备的关联信息。关联信息可在gd中打开图形后,点击相应图元查看。

四、图形导入流程与设备关联
1、图形导入流程
PMS的图形导入通常在工作站上进行。在模型数据导完后,模型服务器上的模型导入相关进程会发送一个模型导入完成的消息至工作站上的model_debug程序,model_debug即开始在工作站上导入图形,图形导入完成后,通过 svn将导入后的图形文件同步到其他各工作站及服务器上。
自动成图原图导入是通过自动导脚本监视成图生成的文件夹,自动成图生成svg文件后,即自动将其导入,并同步。
2、设备关联
图形导入过程中完成相应设备的关联。通过读取图形文件中设备的rdfid,以及modelfile/red/各路径下的svgimp.ini文件中的配置信息,决定图形中各不同Layer中的设备分别关联哪个表中的数据,并通过rdfid筛选出id,然后填写关联信息。只有关联信息正常,且关联id的设备在库中正常存在时,才会在dms图形界面中显示设备相关信息。
3、图形文件流转流程
图形文件通常与xml文件一同存放在modelfile/red/路径下,各路径下均配置有svgimp.ini文件,svgimp.ini文件中有配置图形文件导入后存放的路径,如modelfile/red/pms/svgimp.ini文件中[out-dir]配置项中配置转换后图形存放路径为xtsvg/dms_red/,即该路径下图模导入后将导入的图形自动存放在xtsvg/dms_red路径下。图模红转黑后,红黑图管理界面将自动根据相关文件信息,将xtsvg/dms_red路径下图形文件复制到xtsvg/dms路径下并同步至其他各节点。
请务必保证图形导入的路径下具备svgimp.ini文件,否则将使用data/etc/svgimp.ini,该路径下的svgimp.ini文件极大可能并不适用,导致图形导入后显示或关联有问题。
注:在红黑图管理界面导入红黑或黑图时,均应该保证存放原图路径下具备正确的svgimp.ini文件,否则导入的图形可能有问题。切忌随意路径导入图形文件。
图模导入原理之 SVG图形基础与图形导入的更多相关文章
- SVG.js 基础图形绘制整理(二)
一.折线 var draw = SVG('svg1').size(300, 300); //画折线 //使用字符串点 // var polyline=draw.polyline('0,0 100,50 ...
- 基于svg.js实现对图形的拖拽、选择和编辑操作
本文主要记录如何使用 svg.js 实现对图形的拖拽,选择,图像渲染及各类形状的绘制操作. 1.关于SVG SVG 是可缩放的矢量图形,使用XML格式定义图像,可以生成对应的DOM节点,便于对单个图形 ...
- 数据可视化-svg入门基础(二)
接上一篇:数据可视化-svg入门基础(一),基础一主要是介绍了svg概念,元素样式设置等. svg是(scalable vector graphic)伸缩矢量图像. 一.目录 (1)图形元素 (2)文 ...
- 图机器学习(GML)&图神经网络(GNN)原理和代码实现(前置学习系列二)
项目链接:https://aistudio.baidu.com/aistudio/projectdetail/4990947?contributionType=1 欢迎fork欢迎三连!文章篇幅有限, ...
- 《Programming WPF》翻译 第7章 1.图形基础
原文:<Programming WPF>翻译 第7章 1.图形基础 WPF使得在你的应用程序中使用图形很容易,以及更容易开发你的显卡的能力.这有很多图形构架的方面来达到这个目标.其中最重要 ...
- 思维导图VS金字塔原理
作为常识,思维导图制作的核心元素是关键词,而金字塔原理制作的核心元素则是拓展的概要句子,这两种方式是当今人们常用的思维工具,本文对其做了对比,希望对你的选择有所帮助. 金字塔原理结构:从上到下三角形结 ...
- Android图形基础
Android图形基础 Android在其android.graphics包中提供了完整的本机二维图像库. Color类,代表颜色,是用4个数字表示的,透明度.红色.绿色和蓝色(Alpha.Red.G ...
- SVG的基础使用
SVG的基础使用: <%@ page language="java" contentType="text/html; charset=UTF-8" pag ...
- Android Studio图形基础(AS开发实战第二章学习笔记)
图形基础 一.drawable 在代码中引用drawable文件可分为两种情况 (1)使用setBackgroundResource和setImageResource方法,可直接在参数中指定drawa ...
- CSS图形基础:纯CSS绘制图形
为了在页面中利用CSS3绘制图形,在页面中定义 <div class="container"> <div class="shape"> ...
随机推荐
- BIP拓展js的使用
__app.define("common_VM_Extend.js", function () { var selectData = null; var common_VM ...
- zabbix中文显示乱码解决
问题zabbix使用中文显示,"监测-->图形"查看资源使用情况时会有乱码 解决问题1.修改配置文件(文件位置:$zabbix_path/include/defines.in ...
- 安装ubuntu后的U盘(tf卡)恢复到之前的状态
sudo fdisk /dev/sdasudo mkfs.vfat /dev/sda 注意: sda是 disk的名字.不同的电脑可能不一样.
- pytorch的inverse算子转onnx失败
https://github.com/microsoft/onnxruntime-extensions/blob/main/tutorials/pytorch_custom_ops_tutorial. ...
- 画ERA5气压层剖面图(含地形)
气象上一般使用气压垂直坐标系,在不同的气压层绘制变量.ERA5再分析数据的最低气压层是1000 hPa.实际上,由于地形起伏,一些位置的地面气压低于1000 hPa,一些位置的地面气压高于1000 h ...
- @order(1)
@order(num),数字表示加载顺序 1.AOP加载顺序(切面加载顺序) 2.配置类加载顺序
- 解决-装了WPS后Windows无法预览word、Excel、PPT等的问题
https://www.bilibili.com/read/cv10469054/ https://www.cnblogs.com/qq3285862072/p/15097970.html Windo ...
- 读取本地xml或json等本地文件报错Failed to load file:///D:/xml/test.xml: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
问题如上图: 原因及解析:在浏览器打开本地的html文件, 上面proxy中的url获取的就是一个本地文件, 协议是file://,如果是在服务器启动的话,则使用的是http或者https协议.出于安 ...
- C#连接数据库实现开发图书管理系统操作代码
//客户端登录界面(Form1.cs窗口体系) using System; using System.Collections.Generic; using System.ComponentModel; ...
- Jquery_001
jQuery 页面加载初始化的方法有3种 ,页面在加载的时候都会执行脚本,应该没什么区别,主要看习惯吧,本人觉得第二种方法最好,比较简洁. 第一种: $(document).ready(functio ...