GIS渲染教程

您提供的XML文件是基于国际电工委员会(IEC)的通用信息模型(Common Information Model, CIM) 标准的,这是一种用于电力系统建模的开放标准。它本身不是一个图形文件,而是一个数据模型,描述了电网中的设备(如杆塔、线路、变压器)、它们的属性以及它们之间的连接关系。

要将这个CIM XML文件渲染成SVG(可缩放矢量图形),我们需要编写一个程序来完成以下几个核心步骤:

  1. 解析XML:读取XML文件,并能理解其层级结构和命名空间(如 cim:, rdf:)。
  2. 提取关键信息:遍历XML树,找出所有需要可视化的电网设备元素,例如 cim:Pole (电杆), cim:Substation (变电站), cim:ACLineSegment (交流线路段) 等。
  3. 提取几何信息:对于每个设备,提取其地理位置数据。这些数据通常存储在 <cim:PowerSystemResource.location> 标签中,格式为 POINT(经度 纬度)LINESTRING(经度1 纬度1, 经度2 纬度2, ...)
  4. 坐标转换:SVG的坐标系是左上角为(0,0)的像素坐标系,而XML中的是地理坐标(经纬度)。因此,我们必须将所有设备的经纬度坐标等比例地映射到我们设定的SVG画布尺寸上。这通常需要:
    • 找到所有坐标点的经纬度最大和最小值,确定一个地理范围的“包围盒”(Bounding Box)。
    • 根据SVG画布大小和这个包围盒,计算出缩放比例和平移量。
  5. 生成SVG元素
    • 对于 POINT 类型的设备,生成SVG的 <circle> (圆形)、<rect> (矩形) 或 <text> (文本) 元素。
    • 对于 LINESTRING 类型的设备(如线路),生成SVG的 <polyline> (折线) 或 <path> (路径) 元素。
  6. 组合成完整的SVG文件:将所有生成的SVG元素包裹在一个<svg>标签内,并可以添加一些CSS样式来美化图形(如颜色、线宽等)。

编程示范 (Python)

下面我将用Python语言为您提供一个完整的示例。Python拥有强大的XML解析库 (xml.etree.ElementTree),非常适合处理这类任务。

这个脚本将直接读取您提供的XML内容,并生成一个完整的、可以直接在浏览器中查看的HTML文件(内嵌SVG)。

代码解释

代码分为几个部分:

  1. CIM_XML_DATA: 存储您提供的XML文本。
  2. 命名空间字典 (NAMESPACES): CIM XML使用命名空间,在查找元素时必须提供。
  3. parse_location(location_str) 函数: 一个辅助函数,用于解析 POINT(...)LINESTRING(...) 字符串,提取出坐标数值。
  4. generate_svg_from_cim(xml_data) 主函数:
    • 解析和数据提取: 使用 ElementTree 解析XML,并遍历所有元素。它将所有带位置信息的设备存入 elements 列表。
    • 计算包围盒: 遍历所有点,找到经纬度的最大和最小值。这里加入了一个小的 padding 以免图形紧贴边缘。
    • 坐标转换逻辑: 定义了 transform_coords 函数,它负责将单个经纬度点转换为SVG画布上的像素坐标。请注意,SVG的Y轴是向下增加的,而纬度是向上增加的,所以Y坐标的转换公式是 (max_lat - lat) * y_scale
    • 生成SVG内容:
      • 首先,生成SVG的头部,定义画布大小和一些CSS样式。
      • 然后,遍历 elements 列表两次。第一次先画所有的线 (ACLineSegment),让它们作为背景。
      • 第二次画所有的点状设备 (Pole, Substation 等),并为它们添加标签,这样点和标签会显示在线的上方。
      • 不同类型的设备用不同的颜色和形状表示,使其更具可读性。
    • 返回HTML: 最后,将生成的SVG内容嵌入到一个HTML模板中并返回。

完整代码

import xml.etree.ElementTree as ET
import math

# 您提供的CIM XML数据
CIM_XML_DATA = """
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:pf="http://www.chinapower.cn/Rfs/2006/Rdf-Cim#" xmlns:cims="http://iec.ch/TC57/1999/rdf-schema-extensions-19990926#" xmlns:cim="http://iec.ch/TC57/2003/CIM-schema-cim10#" xml:base="defaultDomain#">
 <cim:Circuit rdf:ID="CIRCUIT_59000002652200">
  <cim:Naming.name>10kV牙矿Ⅰ回线</cim:Naming.name>
  <cim:Naming.mRID>59000002652200</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.dispatchNumber>54GYK1</cim:PowerSystemResource.dispatchNumber>
  <cim:PowerSystemResource.areaFeature>4</cim:PowerSystemResource.areaFeature>
  <cim:Circuit.isSpecialLine>true</cim:Circuit.isSpecialLine>
  <cim:PowerSystemResource.ownership>4</cim:PowerSystemResource.ownership>
  <cim:Circuit.isCurrentCircuit>true</cim:Circuit.isCurrentCircuit>
  <cim:Circuit.maxPermissibleLoad></cim:Circuit.maxPermissibleLoad>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_300"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:PowerSystemResource.SubControlArea rdf:resource="#AREA_270616"/>
  <cim:Circuit.SourceSubst rdf:resource="#SUBST_54000011974900"/>
  <cim:Circuit.SourceBreaker rdf:resource="#SWITCH_54000008556700"/>
 </cim:Circuit>
 <cim:PoleSite rdf:ID="POLESITE_59000022797300">
  <cim:Naming.name>1</cim:Naming.name>
  <cim:Naming.mRID>59000022797300</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.dispatchNumber></cim:PowerSystemResource.dispatchNumber>
  <cim:PowerSystemResource.ownership></cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.location>POINT(107.0685558 26.0248477)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_360"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000002652211"/>
  <cim:PoleSite.Pole rdf:resource="#POLE_59000003731500"/>
 </cim:PoleSite>
 <cim:Terminal rdf:ID="TERMINAL_59000022797300_1">
  <cim:Naming.mRID>59000022797311</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#POLESITE_59000022797300"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192096000"/>
 </cim:Terminal>
 <cim:Pole rdf:ID="POLE_59000003731500">
  <cim:Naming.name>10kV牙矿Ⅰ回线 1</cim:Naming.name>
  <cim:Naming.mRID>59000003731500</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.subType>10</cim:PowerSystemResource.subType>
  <cim:Pole.material>水泥杆</cim:Pole.material>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.location>POINT(107.0685558 26.0248477)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.symbolRotation>0.00</cim:PowerSystemResource.symbolRotation>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_338"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
 </cim:Pole>
 <cim:Fuse rdf:ID="SWITCH_59000002964600">
  <cim:Naming.name>01跌落式熔断器</cim:Naming.name>
  <cim:Naming.mRID>59000002964600</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.dispatchNumber>01</cim:PowerSystemResource.dispatchNumber>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:Switch.isRing>false</cim:Switch.isRing>
  <cim:Switch.normalPosition>1</cim:Switch.normalPosition>
  <cim:Switch.normalOpen>false</cim:Switch.normalOpen>
  <cim:PowerSystemResource.location>POINT(107.0685558 26.0248477)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.symbolRotation>8.59</cim:PowerSystemResource.symbolRotation>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_343"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000002652211"/>
 </cim:Fuse>
 <cim:Terminal rdf:ID="TERMINAL_59000002964600_1">
  <cim:Naming.mRID>59000002964611</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SWITCH_59000002964600"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192096000"/>
 </cim:Terminal>
 <cim:Terminal rdf:ID="TERMINAL_59000002964600_2">
  <cim:Naming.mRID>59000002964612</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>2</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SWITCH_59000002964600"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000239469900"/>
 </cim:Terminal>
 <cim:PoleSite rdf:ID="POLESITE_59000022797400">
  <cim:Naming.name>2</cim:Naming.name>
  <cim:Naming.mRID>59000022797400</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.dispatchNumber></cim:PowerSystemResource.dispatchNumber>
  <cim:PowerSystemResource.ownership></cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.location>POINT(107.068662 26.0241362)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_360"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000002652211"/>
  <cim:PoleSite.Pole rdf:resource="#POLE_59000003731600"/>
 </cim:PoleSite>
 <cim:Terminal rdf:ID="TERMINAL_59000022797400_1">
  <cim:Naming.mRID>59000022797411</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#POLESITE_59000022797400"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192096100"/>
 </cim:Terminal>
 <cim:Pole rdf:ID="POLE_59000003731600">
  <cim:Naming.name>10kV牙矿Ⅰ回线 2</cim:Naming.name>
  <cim:Naming.mRID>59000003731600</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.subType>10</cim:PowerSystemResource.subType>
  <cim:Pole.material>水泥杆</cim:Pole.material>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.location>POINT(107.068662 26.0241362)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.symbolRotation>0.00</cim:PowerSystemResource.symbolRotation>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_338"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
 </cim:Pole>
 <cim:PoleSite rdf:ID="POLESITE_59000022802900">
  <cim:Naming.name>57</cim:Naming.name>
  <cim:Naming.mRID>59000022802900</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.dispatchNumber></cim:PowerSystemResource.dispatchNumber>
  <cim:PowerSystemResource.ownership></cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.location>POINT(107.1045498 25.9896208)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_360"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000002652211"/>
  <cim:PoleSite.Pole rdf:resource="#POLE_59000003737100"/>
 </cim:PoleSite>
 <cim:Terminal rdf:ID="TERMINAL_59000022802900_1">
  <cim:Naming.mRID>59000022802911</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#POLESITE_59000022802900"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192095900"/>
 </cim:Terminal>
 <cim:Pole rdf:ID="POLE_59000003737100">
  <cim:Naming.name>10kV牙矿Ⅰ回线 57</cim:Naming.name>
  <cim:Naming.mRID>59000003737100</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.subType>10</cim:PowerSystemResource.subType>
  <cim:Pole.material>水泥杆</cim:Pole.material>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.location>POINT(107.1045498 25.9896208)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.symbolRotation>0.00</cim:PowerSystemResource.symbolRotation>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_338"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
 </cim:Pole>
 <cim:Breaker rdf:ID="SWITCH_54000008556700">
  <cim:Naming.name>001</cim:Naming.name>
  <cim:Naming.mRID>54000008556700</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.dispatchNumber></cim:PowerSystemResource.dispatchNumber>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:Switch.cabinetNumber></cim:Switch.cabinetNumber>
  <cim:PowerSystemResource.subType>20</cim:PowerSystemResource.subType>
  <cim:Switch.isRing>false</cim:Switch.isRing>
  <cim:Switch.normalPosition>10</cim:Switch.normalPosition>
  <cim:Switch.normalOpen>false</cim:Switch.normalOpen>
  <cim:PowerSystemResource.location>POINT(130 280)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.symbolRotation>0.00</cim:PowerSystemResource.symbolRotation>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_140"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#SUBST_54000011974900"/>
 </cim:Breaker>
 <cim:Terminal rdf:ID="TERMINAL_54000008556700_1">
  <cim:Naming.mRID>54000008556711</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SWITCH_54000008556700"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_54000016689000"/>
 </cim:Terminal>
 <cim:Terminal rdf:ID="TERMINAL_54000008556700_2">
  <cim:Naming.mRID>54000008556712</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>2</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SWITCH_54000008556700"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_54000020389200"/>
 </cim:Terminal>
 <cim:Substation rdf:ID="SUBST_54000011974900">
  <cim:Naming.name>10kV场边寨开闭所(用户站)</cim:Naming.name>
  <cim:Naming.mRID>54000011974900</cim:Naming.mRID>
  <cim:PowerSystemResource.subType>10</cim:PowerSystemResource.subType>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.dispatchNumber></cim:PowerSystemResource.dispatchNumber>
  <cim:PowerSystemResource.ownership>4</cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.location>POINT(107.0692311 26.0274049)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.symbolRotation>0.00</cim:PowerSystemResource.symbolRotation>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_110"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
 </cim:Substation>
 <cim:Junction rdf:ID="CBLT_59000348207000">
  <cim:Naming.name>电缆(首端)</cim:Naming.name>
  <cim:Naming.mRID>59000348207000</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.dispatchNumber></cim:PowerSystemResource.dispatchNumber>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.location>POINT(107.0693369 26.0275109)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.symbolRotation>343.79</cim:PowerSystemResource.symbolRotation>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_399"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000002652211"/>
  <cim:Junction.MemberOf_CableSegment rdf:resource="#SEGGRP_59000299717300"/>
 </cim:Junction>
 <cim:Terminal rdf:ID="TERMINAL_59000348207000_1">
  <cim:Naming.mRID>59000348207011</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#CBLT_59000348207000"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_54000016689000"/>
 </cim:Terminal>
 <cim:Junction rdf:ID="CBLT_59000345750900">
  <cim:Naming.name>电缆(末端)</cim:Naming.name>
  <cim:Naming.mRID>59000345750900</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.dispatchNumber></cim:PowerSystemResource.dispatchNumber>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.location>POINT(107.0685558 26.0248477)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.symbolRotation>163.79</cim:PowerSystemResource.symbolRotation>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_399"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000002652211"/>
  <cim:Junction.MemberOf_CableSegment rdf:resource="#SEGGRP_59000299717300"/>
 </cim:Junction>
 <cim:Terminal rdf:ID="TERMINAL_59000345750900_1">
  <cim:Naming.mRID>59000345750911</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#CBLT_59000345750900"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192096000"/>
 </cim:Terminal>
 <cim:PoleSite rdf:ID="POLESITE_59000022798700">
  <cim:Naming.name>15</cim:Naming.name>
  <cim:Naming.mRID>59000022798700</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.dispatchNumber></cim:PowerSystemResource.dispatchNumber>
  <cim:PowerSystemResource.ownership></cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.location>POINT(107.0700385 26.0132415)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_360"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000002652211"/>
  <cim:PoleSite.Pole rdf:resource="#POLE_59000003732900"/>
 </cim:PoleSite>
 <cim:Terminal rdf:ID="TERMINAL_59000022798700_1">
  <cim:Naming.mRID>59000022798711</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#POLESITE_59000022798700"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192097400"/>
 </cim:Terminal>
 <cim:Pole rdf:ID="POLE_59000003732900">
  <cim:Naming.name>10kV牙矿Ⅰ回线 15</cim:Naming.name>
  <cim:Naming.mRID>59000003732900</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.subType>10</cim:PowerSystemResource.subType>
  <cim:Pole.material>水泥杆</cim:Pole.material>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.location>POINT(107.0700385 26.0132415)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.symbolRotation>0.00</cim:PowerSystemResource.symbolRotation>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_338"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
 </cim:Pole>
 <cim:PoleSite rdf:ID="POLESITE_59000421287100">
  <cim:Naming.name>14</cim:Naming.name>
  <cim:Naming.mRID>59000421287100</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.dispatchNumber></cim:PowerSystemResource.dispatchNumber>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.location>POINT(107.0695512 26.0117857)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_360"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000421272300"/>
  <cim:PoleSite.Pole rdf:resource="#POLE_59000421286900"/>
 </cim:PoleSite>
 <cim:Terminal rdf:ID="TERMINAL_59000421287100_1">
  <cim:Naming.mRID>59000421287111</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#POLESITE_59000421287100"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000421287200"/>
 </cim:Terminal>
 <cim:Pole rdf:ID="POLE_59000421286900">
  <cim:Naming.name>S422工程 14</cim:Naming.name>
  <cim:Naming.mRID>59000421286900</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.subType>10</cim:PowerSystemResource.subType>
  <cim:Pole.material>水泥杆</cim:Pole.material>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.location>POINT(107.0695512 26.0117857)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.symbolRotation>0.00</cim:PowerSystemResource.symbolRotation>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_338"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
 </cim:Pole>
 <cim:PoleSite rdf:ID="POLESITE_59000022800200">
  <cim:Naming.name>30</cim:Naming.name>
  <cim:Naming.mRID>59000022800200</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.dispatchNumber></cim:PowerSystemResource.dispatchNumber>
  <cim:PowerSystemResource.ownership></cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.location>POINT(107.0653155 25.9963237)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_360"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000002652211"/>
  <cim:PoleSite.Pole rdf:resource="#POLE_59000003734400"/>
 </cim:PoleSite>
 <cim:Terminal rdf:ID="TERMINAL_59000022800200_1">
  <cim:Naming.mRID>59000022800211</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#POLESITE_59000022800200"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192098800"/>
 </cim:Terminal>
 <cim:Pole rdf:ID="POLE_59000003734400">
  <cim:Naming.name>10kV牙矿Ⅰ回线 30</cim:Naming.name>
  <cim:Naming.mRID>59000003734400</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.subType>10</cim:PowerSystemResource.subType>
  <cim:Pole.material>水泥杆</cim:Pole.material>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.location>POINT(107.0653155 25.9963237)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.symbolRotation>0.00</cim:PowerSystemResource.symbolRotation>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_338"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
 </cim:Pole>
 <cim:PoleSite rdf:ID="POLESITE_59000022802700">
  <cim:Naming.name>55</cim:Naming.name>
  <cim:Naming.mRID>59000022802700</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.dispatchNumber></cim:PowerSystemResource.dispatchNumber>
  <cim:PowerSystemResource.ownership></cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.location>POINT(107.1033791 25.991028)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_360"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000002652211"/>
  <cim:PoleSite.Pole rdf:resource="#POLE_59000003736900"/>
 </cim:PoleSite>
 <cim:Terminal rdf:ID="TERMINAL_59000022802700_1">
  <cim:Naming.mRID>59000022802711</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#POLESITE_59000022802700"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192095700"/>
 </cim:Terminal>
 <cim:Pole rdf:ID="POLE_59000003736900">
  <cim:Naming.name>10kV牙矿Ⅰ回线 55</cim:Naming.name>
  <cim:Naming.mRID>59000003736900</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.subType>10</cim:PowerSystemResource.subType>
  <cim:Pole.material>水泥杆</cim:Pole.material>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.location>POINT(107.1033791 25.991028)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.symbolRotation>0.00</cim:PowerSystemResource.symbolRotation>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_338"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
 </cim:Pole>
 <cim:Fuse rdf:ID="SWITCH_59000453065000">
  <cim:Naming.name>牙舟煤矿2#专变跌落式熔断器</cim:Naming.name>
  <cim:Naming.mRID>59000453065000</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.dispatchNumber></cim:PowerSystemResource.dispatchNumber>
  <cim:PowerSystemResource.ownership></cim:PowerSystemResource.ownership>
  <cim:Switch.isRing>false</cim:Switch.isRing>
  <cim:PowerSystemResource.location>POINT(0.01322320098 0.00929756315)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.symbolRotation>0.00</cim:PowerSystemResource.symbolRotation>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_343"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000002652211"/>
 </cim:Fuse>
 <cim:Terminal rdf:ID="TERMINAL_59000453065000_1">
  <cim:Naming.mRID>59000453065011</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SWITCH_59000453065000"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000453065400"/>
 </cim:Terminal>
 <cim:Terminal rdf:ID="TERMINAL_59000453065000_2">
  <cim:Naming.mRID>59000453065012</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>2</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SWITCH_59000453065000"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000453065300"/>
 </cim:Terminal>
 <cim:Substation rdf:ID="SUBST_59000453065800">
  <cim:Naming.name>牙舟煤矿2#专变(一级)</cim:Naming.name>
  <cim:Naming.mRID>59000453065800</cim:Naming.mRID>
  <cim:PowerSystemResource.subType>20</cim:PowerSystemResource.subType>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.dispatchNumber></cim:PowerSystemResource.dispatchNumber>
  <cim:PowerSystemResource.ownership></cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.location>POINT(0.01322320098 0.00950417566)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.symbolRotation>180.00</cim:PowerSystemResource.symbolRotation>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_335"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
 </cim:Substation>
 <cim:PoleSite rdf:ID="POLESITE_59000022802800">
  <cim:Naming.name>56</cim:Naming.name>
  <cim:Naming.mRID>59000022802800</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.dispatchNumber></cim:PowerSystemResource.dispatchNumber>
  <cim:PowerSystemResource.ownership></cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.location>POINT(107.1039392 25.9904096)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_360"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000002652211"/>
  <cim:PoleSite.Pole rdf:resource="#POLE_59000003737000"/>
 </cim:PoleSite>
 <cim:Terminal rdf:ID="TERMINAL_59000022802800_1">
  <cim:Naming.mRID>59000022802811</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#POLESITE_59000022802800"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192095800"/>
 </cim:Terminal>
 <cim:Pole rdf:ID="POLE_59000003737000">
  <cim:Naming.name>10kV牙矿Ⅰ回线 56</cim:Naming.name>
  <cim:Naming.mRID>59000003737000</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.subType>10</cim:PowerSystemResource.subType>
  <cim:Pole.material>水泥杆</cim:Pole.material>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.location>POINT(107.1039392 25.9904096)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.symbolRotation>0.00</cim:PowerSystemResource.symbolRotation>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_338"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
 </cim:Pole>
 <cim:Fuse rdf:ID="SWITCH_59000453067000">
  <cim:Naming.name>牙舟煤矿1#专变跌落式熔断器</cim:Naming.name>
  <cim:Naming.mRID>59000453067000</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.dispatchNumber></cim:PowerSystemResource.dispatchNumber>
  <cim:PowerSystemResource.ownership></cim:PowerSystemResource.ownership>
  <cim:Switch.isRing>false</cim:Switch.isRing>
  <cim:PowerSystemResource.location>POINT(0.01457067391 0.0093065463)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.symbolRotation>0.00</cim:PowerSystemResource.symbolRotation>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_343"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000002652211"/>
 </cim:Fuse>
 <cim:Terminal rdf:ID="TERMINAL_59000453067000_1">
  <cim:Naming.mRID>59000453067011</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SWITCH_59000453067000"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000453067400"/>
 </cim:Terminal>
 <cim:Terminal rdf:ID="TERMINAL_59000453067000_2">
  <cim:Naming.mRID>59000453067012</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>2</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SWITCH_59000453067000"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000453067300"/>
 </cim:Terminal>
 <cim:Substation rdf:ID="SUBST_59000453067800">
  <cim:Naming.name>牙舟煤矿2号专变2(一级)</cim:Naming.name>
  <cim:Naming.mRID>59000453067800</cim:Naming.mRID>
  <cim:PowerSystemResource.subType>20</cim:PowerSystemResource.subType>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.dispatchNumber></cim:PowerSystemResource.dispatchNumber>
  <cim:PowerSystemResource.ownership></cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.location>POINT(0.01457067391 0.00951315882)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.symbolRotation>180.00</cim:PowerSystemResource.symbolRotation>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_335"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
 </cim:Substation>
 <cim:ACLineSegment rdf:ID="SEG_59000030467300">
  <cim:Naming.name>1#~2#</cim:Naming.name>
  <cim:Naming.mRID>59000030467300</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:Equipment.model>LGJ-70/10kV</cim:Equipment.model>
  <cim:Conductor.length>80</cim:Conductor.length>
  <cim:Conductor.crossSectionArea>70</cim:Conductor.crossSectionArea>
  <cim:PowerSystemResource.location>LINESTRING(107.0685587 26.0248302,107.068662 26.0241362)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_310"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000002652211"/>
  <cim:ACLineSegment.MemberOf_SegmentGroup>59000300369900</cim:ACLineSegment.MemberOf_SegmentGroup>
 </cim:ACLineSegment>
 <cim:Terminal rdf:ID="TERMINAL_59000030467300_1">
  <cim:Naming.mRID>59000030467311</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000030467300"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000239469900"/>
 </cim:Terminal>
 <cim:Terminal rdf:ID="TERMINAL_59000030467300_2">
  <cim:Naming.mRID>59000030467312</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>2</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000030467300"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192096100"/>
 </cim:Terminal>
 <cim:ACLineSegment rdf:ID="SEG_59000002702700">
  <cim:Naming.name>10kV牙矿Ⅰ回线 从[10kV场边寨开闭所]到[10kV牙矿Ⅰ回线 1#]</cim:Naming.name>
  <cim:Naming.mRID>59000002702700</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:Equipment.model>YJV22-300/10kV</cim:Equipment.model>
  <cim:Conductor.length>100</cim:Conductor.length>
  <cim:Conductor.crossSectionArea>300</cim:Conductor.crossSectionArea>
  <cim:PowerSystemResource.location>LINESTRING(107.0693349 26.0275048,107.0685578 26.0248538)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_311"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000002652211"/>
  <cim:ACLineSegment.MemberOf_SegmentGroup>59000299717300</cim:ACLineSegment.MemberOf_SegmentGroup>
 </cim:ACLineSegment>
 <cim:Terminal rdf:ID="TERMINAL_59000002702700_1">
  <cim:Naming.mRID>59000002702711</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000002702700"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_54000016689000"/>
 </cim:Terminal>
 <cim:Terminal rdf:ID="TERMINAL_59000002702700_2">
  <cim:Naming.mRID>59000002702712</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>2</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000002702700"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192096000"/>
 </cim:Terminal>
 <cim:ACLineSegment rdf:ID="SEG_59000030467400">
  <cim:Naming.name>2#~3#</cim:Naming.name>
  <cim:Naming.mRID>59000030467400</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:Equipment.model>LGJ-70/10kV</cim:Equipment.model>
  <cim:Conductor.length>80</cim:Conductor.length>
  <cim:Conductor.crossSectionArea>70</cim:Conductor.crossSectionArea>
  <cim:PowerSystemResource.location>LINESTRING(107.068662 26.0241362,107.0687891 26.0234672)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_310"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000002652211"/>
  <cim:ACLineSegment.MemberOf_SegmentGroup>59000300370000</cim:ACLineSegment.MemberOf_SegmentGroup>
 </cim:ACLineSegment>
 <cim:Terminal rdf:ID="TERMINAL_59000030467400_1">
  <cim:Naming.mRID>59000030467411</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000030467400"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192096100"/>
 </cim:Terminal>
 <cim:Terminal rdf:ID="TERMINAL_59000030467400_2">
  <cim:Naming.mRID>59000030467412</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>2</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000030467400"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192097400"/>
 </cim:Terminal>
 <cim:ACLineSegment rdf:ID="SEG_59000421287700">
  <cim:Naming.name>#14~#15(T接)</cim:Naming.name>
  <cim:Naming.mRID>59000421287700</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:Equipment.model></cim:Equipment.model>
  <cim:Conductor.length>11.11</cim:Conductor.length>
  <cim:Conductor.crossSectionArea></cim:Conductor.crossSectionArea>
  <cim:PowerSystemResource.location>LINESTRING(107.0695512 26.0117857,107.0700385 26.0132415)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_310"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000421272300"/>
  <cim:ACLineSegment.MemberOf_SegmentGroup>59000421287800</cim:ACLineSegment.MemberOf_SegmentGroup>
 </cim:ACLineSegment>
 <cim:Terminal rdf:ID="TERMINAL_59000421287700_1">
  <cim:Naming.mRID>59000421287711</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000421287700"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000421287200"/>
 </cim:Terminal>
 <cim:Terminal rdf:ID="TERMINAL_59000421287700_2">
  <cim:Naming.mRID>59000421287712</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>2</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000421287700"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192097400"/>
 </cim:Terminal>
 <cim:ACLineSegment rdf:ID="SEG_59000421287400">
  <cim:Naming.name>#13~#14</cim:Naming.name>
  <cim:Naming.mRID>59000421287400</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:Equipment.model></cim:Equipment.model>
  <cim:Conductor.length>11.11</cim:Conductor.length>
  <cim:Conductor.crossSectionArea></cim:Conductor.crossSectionArea>
  <cim:PowerSystemResource.location>LINESTRING(107.0693999 26.0112393,107.0695512 26.0117857)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_310"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000421272300"/>
  <cim:ACLineSegment.MemberOf_SegmentGroup>59000421287500</cim:ACLineSegment.MemberOf_SegmentGroup>
 </cim:ACLineSegment>
 <cim:Terminal rdf:ID="TERMINAL_59000421287400_1">
  <cim:Naming.mRID>59000421287411</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000421287400"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192098800"/>
 </cim:Terminal>
 <cim:Terminal rdf:ID="TERMINAL_59000421287400_2">
  <cim:Naming.mRID>59000421287412</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>2</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000421287400"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000421287200"/>
 </cim:Terminal>
 <cim:ACLineSegment rdf:ID="SEG_59000030470200">
  <cim:Naming.name>30#~31#</cim:Naming.name>
  <cim:Naming.mRID>59000030470200</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:Equipment.model>LGJ-70/10kV</cim:Equipment.model>
  <cim:Conductor.length>100</cim:Conductor.length>
  <cim:Conductor.crossSectionArea>70</cim:Conductor.crossSectionArea>
  <cim:PowerSystemResource.location>LINESTRING(107.0653155 25.9963237,107.0689456 25.9927844)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_310"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000002652211"/>
  <cim:ACLineSegment.MemberOf_SegmentGroup>59000300376800</cim:ACLineSegment.MemberOf_SegmentGroup>
 </cim:ACLineSegment>
 <cim:Terminal rdf:ID="TERMINAL_59000030470200_1">
  <cim:Naming.mRID>59000030470211</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000030470200"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192098800"/>
 </cim:Terminal>
 <cim:Terminal rdf:ID="TERMINAL_59000030470200_2">
  <cim:Naming.mRID>59000030470212</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>2</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000030470200"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192095700"/>
 </cim:Terminal>
 <cim:ACLineSegment rdf:ID="SEG_59000453065600">
  <cim:Naming.name>#55~牙舟煤矿2#专变(一级)</cim:Naming.name>
  <cim:Naming.mRID>59000453065600</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.ownership></cim:PowerSystemResource.ownership>
  <cim:Equipment.model></cim:Equipment.model>
  <cim:PowerSystemResource.location>LINESTRING(0.01322320098 0.0089831528,0.01322320098 0.00908196748)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_312"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000002652211"/>
 </cim:ACLineSegment>
 <cim:Terminal rdf:ID="TERMINAL_59000453065600_1">
  <cim:Naming.mRID>59000453065611</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000453065600"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192095700"/>
 </cim:Terminal>
 <cim:Terminal rdf:ID="TERMINAL_59000453065600_2">
  <cim:Naming.mRID>59000453065612</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>2</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000453065600"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000453065300"/>
 </cim:Terminal>
 <cim:ACLineSegment rdf:ID="SEG_59000030472700">
  <cim:Naming.name>55#~56#</cim:Naming.name>
  <cim:Naming.mRID>59000030472700</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:Equipment.model>LGJ-70/10kV</cim:Equipment.model>
  <cim:Conductor.length>90</cim:Conductor.length>
  <cim:Conductor.crossSectionArea>70</cim:Conductor.crossSectionArea>
  <cim:PowerSystemResource.location>LINESTRING(107.1033791 25.991028,107.1039392 25.9904096)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_310"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000002652211"/>
  <cim:ACLineSegment.MemberOf_SegmentGroup>59000300391700</cim:ACLineSegment.MemberOf_SegmentGroup>
 </cim:ACLineSegment>
 <cim:Terminal rdf:ID="TERMINAL_59000030472700_1">
  <cim:Naming.mRID>59000030472711</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000030472700"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192095700"/>
 </cim:Terminal>
 <cim:Terminal rdf:ID="TERMINAL_59000030472700_2">
  <cim:Naming.mRID>59000030472712</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>2</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000030472700"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192095800"/>
 </cim:Terminal>
 <cim:ACLineSegment rdf:ID="SEG_59000453067600">
  <cim:Naming.name>#56~牙舟煤矿2号专变2(一级)</cim:Naming.name>
  <cim:Naming.mRID>59000453067600</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.ownership></cim:PowerSystemResource.ownership>
  <cim:Equipment.model></cim:Equipment.model>
  <cim:PowerSystemResource.location>LINESTRING(0.01457067391 0.0089831528,0.01457067391 0.00909095064)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_312"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000002652211"/>
 </cim:ACLineSegment>
 <cim:Terminal rdf:ID="TERMINAL_59000453067600_1">
  <cim:Naming.mRID>59000453067611</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000453067600"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192095800"/>
 </cim:Terminal>
 <cim:Terminal rdf:ID="TERMINAL_59000453067600_2">
  <cim:Naming.mRID>59000453067612</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>2</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000453067600"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000453067300"/>
 </cim:Terminal>
 <cim:ACLineSegment rdf:ID="SEG_59000030472800">
  <cim:Naming.name>56#~57#</cim:Naming.name>
  <cim:Naming.mRID>59000030472800</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:Equipment.model>LGJ-70/10kV</cim:Equipment.model>
  <cim:Conductor.length>110</cim:Conductor.length>
  <cim:Conductor.crossSectionArea>70</cim:Conductor.crossSectionArea>
  <cim:PowerSystemResource.location>LINESTRING(107.1039392 25.9904096,107.1045498 25.9896208)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_310"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000002652211"/>
  <cim:ACLineSegment.MemberOf_SegmentGroup>59000300391800</cim:ACLineSegment.MemberOf_SegmentGroup>
 </cim:ACLineSegment>
 <cim:Terminal rdf:ID="TERMINAL_59000030472800_1">
  <cim:Naming.mRID>59000030472811</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000030472800"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192095800"/>
 </cim:Terminal>
 <cim:Terminal rdf:ID="TERMINAL_59000030472800_2">
  <cim:Naming.mRID>59000030472812</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>2</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000030472800"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192095900"/>
 </cim:Terminal>
 <cim:ACLineSegment rdf:ID="SEG_59000030470100">
  <cim:Naming.name>29#~30#</cim:Naming.name>
  <cim:Naming.mRID>59000030470100</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:Equipment.model>LGJ-70/10kV</cim:Equipment.model>
  <cim:Conductor.length>70</cim:Conductor.length>
  <cim:Conductor.crossSectionArea>70</cim:Conductor.crossSectionArea>
  <cim:PowerSystemResource.location>LINESTRING(107.0652855 25.9969644,107.0653155 25.9963237)</cim:PowerSystemResource.location>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_310"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:Equipment.MemberOf_EquipmentContainer rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:Equipment.MemberOf_CircuitSection rdf:resource="#CIRSEC_59000002652211"/>
  <cim:ACLineSegment.MemberOf_SegmentGroup>59000300376700</cim:ACLineSegment.MemberOf_SegmentGroup>
 </cim:ACLineSegment>
 <cim:Terminal rdf:ID="TERMINAL_59000030470100_1">
  <cim:Naming.mRID>59000030470111</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>1</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000030470100"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192097400"/>
 </cim:Terminal>
 <cim:Terminal rdf:ID="TERMINAL_59000030470100_2">
  <cim:Naming.mRID>59000030470112</cim:Naming.mRID>
  <cim:Terminal.sequenceNumber>2</cim:Terminal.sequenceNumber>
  <cim:Terminal.ConductingEquipment rdf:resource="#SEG_59000030470100"/>
  <cim:Terminal.ConnectivityNode rdf:resource="#NODE_59000192098800"/>
 </cim:Terminal>
 <cim:CircuitSection rdf:ID="CIRSEC_59000002652211">
  <cim:Naming.name>10kV牙矿Ⅰ回线</cim:Naming.name>
  <cim:Naming.mRID>59000002652211</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:CircuitSection.connectionKind>主干线</cim:CircuitSection.connectionKind>
  <cim:PowerSystemResource.ownership>4</cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_300"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:CircuitSection.MemberOf_Circuit rdf:resource="#CIRCUIT_59000002652200"/>
 </cim:CircuitSection>
 <cim:CircuitSection rdf:ID="CIRSEC_59000421272300">
  <cim:Naming.name>S422工程</cim:Naming.name>
  <cim:Naming.mRID>59000421272300</cim:Naming.mRID>
  <cim:PowerSystemResource.status>1</cim:PowerSystemResource.status>
  <cim:CircuitSection.connectionKind>分支线</cim:CircuitSection.connectionKind>
  <cim:PowerSystemResource.ownership>1</cim:PowerSystemResource.ownership>
  <cim:PowerSystemResource.PSRType rdf:resource="#PSRTYPE_300"/>
  <cim:PowerSystemResource.BaseVoltage rdf:resource="#BASEVOL_10000"/>
  <cim:CircuitSection.MemberOf_Circuit rdf:resource="#CIRCUIT_59000002652200"/>
  <cim:CircuitSection.Parent rdf:resource="#CIRSEC_59000002652211"/>
 </cim:CircuitSection>
 <cim:ConnectivityNode rdf:ID="NODE_59000192096100">
  <cim:Naming.mRID>59000192096100</cim:Naming.mRID>
 </cim:ConnectivityNode>
 <cim:ConnectivityNode rdf:ID="NODE_59000192097400">
  <cim:Naming.mRID>59000192097400</cim:Naming.mRID>
 </cim:ConnectivityNode>
 <cim:ConnectivityNode rdf:ID="NODE_59000453065300">
  <cim:Naming.mRID>59000453065300</cim:Naming.mRID>
 </cim:ConnectivityNode>
 <cim:ConnectivityNode rdf:ID="NODE_59000192095800">
  <cim:Naming.mRID>59000192095800</cim:Naming.mRID>
 </cim:ConnectivityNode>
 <cim:ConnectivityNode rdf:ID="NODE_54000020389200">
  <cim:Naming.mRID>54000020389200</cim:Naming.mRID>
 </cim:ConnectivityNode>
 <cim:ConnectivityNode rdf:ID="NODE_59000192096000">
  <cim:Naming.mRID>59000192096000</cim:Naming.mRID>
 </cim:ConnectivityNode>
 <cim:ConnectivityNode rdf:ID="NODE_59000453067400">
  <cim:Naming.mRID>59000453067400</cim:Naming.mRID>
 </cim:ConnectivityNode>
 <cim:ConnectivityNode rdf:ID="NODE_59000239469900">
  <cim:Naming.mRID>59000239469900</cim:Naming.mRID>
 </cim:ConnectivityNode>
 <cim:ConnectivityNode rdf:ID="NODE_59000192098800">
  <cim:Naming.mRID>59000192098800</cim:Naming.mRID>
 </cim:ConnectivityNode>
 <cim:ConnectivityNode rdf:ID="NODE_54000016689000">
  <cim:Naming.mRID>54000016689000</cim:Naming.mRID>
 </cim:ConnectivityNode>
 <cim:ConnectivityNode rdf:ID="NODE_59000421287200">
  <cim:Naming.mRID>59000421287200</cim:Naming.mRID>
 </cim:ConnectivityNode>
 <cim:ConnectivityNode rdf:ID="NODE_59000453065400">
  <cim:Naming.mRID>59000453065400</cim:Naming.mRID>
 </cim:ConnectivityNode>
 <cim:ConnectivityNode rdf:ID="NODE_59000192095700">
  <cim:Naming.mRID>59000192095700</cim:Naming.mRID>
 </cim:ConnectivityNode>
 <cim:ConnectivityNode rdf:ID="NODE_59000192095900">
  <cim:Naming.mRID>59000192095900</cim:Naming.mRID>
 </cim:ConnectivityNode>
 <cim:ConnectivityNode rdf:ID="NODE_59000453067300">
  <cim:Naming.mRID>59000453067300</cim:Naming.mRID>
 </cim:ConnectivityNode>
 <cim:BaseVoltage rdf:ID="BASEVOL_10000">
  <cim:Naming.mRID>10000</cim:Naming.mRID>
  <cim:Naming.name>10kV</cim:Naming.name>
  <cim:BaseVoltage.nominalVoltage>10000</cim:BaseVoltage.nominalVoltage>
 </cim:BaseVoltage>
 <cim:PSRType rdf:ID="PSRTYPE_110">
  <cim:Naming.mRID>110</cim:Naming.mRID>
  <cim:Naming.name>变电站</cim:Naming.name>
  <cim:PSRType.transSubDistCategory>SUBSTATION</cim:PSRType.transSubDistCategory>
 </cim:PSRType>
 <cim:PSRType rdf:ID="PSRTYPE_140">
  <cim:Naming.mRID>140</cim:Naming.mRID>
  <cim:Naming.name>变电站内断路器</cim:Naming.name>
  <cim:PSRType.transSubDistCategory>SUBSTATION</cim:PSRType.transSubDistCategory>
 </cim:PSRType>
 <cim:PSRType rdf:ID="PSRTYPE_300">
  <cim:Naming.mRID>300</cim:Naming.mRID>
  <cim:Naming.name>配电线路分支</cim:Naming.name>
  <cim:PSRType.transSubDistCategory>DISTRIBUTION</cim:PSRType.transSubDistCategory>
 </cim:PSRType>
 <cim:PSRType rdf:ID="PSRTYPE_310">
  <cim:Naming.mRID>310</cim:Naming.mRID>
  <cim:Naming.name>配电架空线段</cim:Naming.name>
  <cim:PSRType.transSubDistCategory>DISTRIBUTION</cim:PSRType.transSubDistCategory>
 </cim:PSRType>
 <cim:PSRType rdf:ID="PSRTYPE_311">
  <cim:Naming.mRID>311</cim:Naming.mRID>
  <cim:Naming.name>配电电缆段</cim:Naming.name>
  <cim:PSRType.transSubDistCategory>DISTRIBUTION</cim:PSRType.transSubDistCategory>
 </cim:PSRType>
 <cim:PSRType rdf:ID="PSRTYPE_312">
  <cim:Naming.mRID>312</cim:Naming.mRID>
  <cim:Naming.name>配电电气连接线</cim:Naming.name>
  <cim:PSRType.transSubDistCategory>DISTRIBUTION</cim:PSRType.transSubDistCategory>
 </cim:PSRType>
 <cim:PSRType rdf:ID="PSRTYPE_335">
  <cim:Naming.mRID>335</cim:Naming.mRID>
  <cim:Naming.name>配电台变</cim:Naming.name>
  <cim:PSRType.transSubDistCategory>DISTRIBUTION</cim:PSRType.transSubDistCategory>
 </cim:PSRType>
 <cim:PSRType rdf:ID="PSRTYPE_338">
  <cim:Naming.mRID>338</cim:Naming.mRID>
  <cim:Naming.name>配电中低压物理杆塔</cim:Naming.name>
  <cim:PSRType.transSubDistCategory>DISTRIBUTION</cim:PSRType.transSubDistCategory>
 </cim:PSRType>
 <cim:PSRType rdf:ID="PSRTYPE_343">
  <cim:Naming.mRID>343</cim:Naming.mRID>
  <cim:Naming.name>配电跌落式熔断器</cim:Naming.name>
  <cim:PSRType.transSubDistCategory>DISTRIBUTION</cim:PSRType.transSubDistCategory>
 </cim:PSRType>
 <cim:PSRType rdf:ID="PSRTYPE_360">
  <cim:Naming.mRID>360</cim:Naming.mRID>
  <cim:Naming.name>配电中低压逻辑杆塔</cim:Naming.name>
  <cim:PSRType.transSubDistCategory>DISTRIBUTION</cim:PSRType.transSubDistCategory>
 </cim:PSRType>
 <cim:PSRType rdf:ID="PSRTYPE_399">
  <cim:Naming.mRID>399</cim:Naming.mRID>
  <cim:Naming.name>配电电缆终端头</cim:Naming.name>
  <cim:PSRType.transSubDistCategory>DISTRIBUTION</cim:PSRType.transSubDistCategory>
 </cim:PSRType>
 <cim:SubControlArea rdf:ID="AREA_270616">
  <cim:Naming.mRID>270616</cim:Naming.mRID>
  <cim:Naming.name>营销服务班</cim:Naming.name>
  <cim:SubControlArea.areaLevel>4</cim:SubControlArea.areaLevel>
  <cim:SubControlArea.MemberOf_SubControlArea rdf:resource="#AREA_200227"/>
 </cim:SubControlArea>
 <cim:SubControlArea rdf:ID="AREA_200227">
  <cim:Naming.mRID>200227</cim:Naming.mRID>
  <cim:Naming.name>平塘局</cim:Naming.name>
  <cim:SubControlArea.areaLevel>3</cim:SubControlArea.areaLevel>
  <cim:SubControlArea.MemberOf_SubControlArea rdf:resource="#AREA_200032"/>
 </cim:SubControlArea>
 <cim:SubControlArea rdf:ID="AREA_200032">
  <cim:Naming.mRID>200032</cim:Naming.mRID>
  <cim:Naming.name>都匀供电局</cim:Naming.name>
  <cim:SubControlArea.areaLevel>2</cim:SubControlArea.areaLevel>
 </cim:SubControlArea>
</rdf:RDF>
"""

# 定义XML命名空间
NAMESPACES = {
    'rdf': 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
    'cim': 'http://iec.ch/TC57/2003/CIM-schema-cim10#'
}

def parse_location(location_str):
    """解析位置字符串, 如 'POINT(1 2)' 或 'LINESTRING(1 2,3 4)'"""
    try:
        # 清理字符串
        content = location_str.split('(')[1].split(')')[0]
        
        if "POINT" in location_str:
            parts = content.split()
            return [(float(parts[0]), float(parts[1]))]
            
        elif "LINESTRING" in location_str:
            points = []
            parts = content.split(',')
            for part in parts:
                coords = part.strip().split()
                if len(coords) == 2:
                    points.append((float(coords[0]), float(coords[1])))
            return points
    except (IndexError, ValueError) as e:
        # print(f"警告: 无法解析位置字符串 '{location_str}': {e}")
        return None
    return None

def generate_svg_from_cim(xml_data, width=1000, height=800):
    """
    从CIM XML数据生成SVG图形。

    :param xml_data: 包含CIM数据的字符串
    :param width: SVG画布宽度
    :param height: SVG画布高度
    :return: 包含SVG的完整HTML字符串
    """
    root = ET.fromstring(xml_data)
    
    elements = []
    all_points = []

    # 1. 提取所有带位置信息的元素
    for elem in root.findall('.//cim:*', NAMESPACES):
        location_tag = elem.find('cim:PowerSystemResource.location', NAMESPACES)
        if location_tag is not None and location_tag.text:
            # 过滤掉无效的经纬度数据,例如 (0.01, 0.009) 这种明显不是真实经纬度的点
            if 'POINT(0.' in location_tag.text or 'LINESTRING(0.' in location_tag.text:
                continue

            points = parse_location(location_tag.text)
            if points:
                name_tag = elem.find('cim:Naming.name', NAMESPACES)
                name = name_tag.text if name_tag is not None else ''
                
                # 移除命名空间前缀,得到干净的标签名
                elem_type = elem.tag.split('}')[-1]
                
                elements.append({
                    'type': elem_type,
                    'name': name,
                    'points': points
                })
                all_points.extend(points)

    if not all_points:
        return "<h1>错误:在XML中没有找到有效的位置信息。</h1>"

    # 2. 计算地理坐标的包围盒
    min_lon = min(p[0] for p in all_points)
    max_lon = max(p[0] for p in all_points)
    min_lat = min(p[1] for p in all_points)
    max_lat = max(p[1] for p in all_points)
    
    # 防止经纬度范围为0
    if max_lon == min_lon:
        max_lon += 0.001
    if max_lat == min_lat:
        max_lat += 0.001

    # 添加边距
    padding = 0.05 # 5%的边距
    lon_range = max_lon - min_lon
    lat_range = max_lat - min_lat
    min_lon -= lon_range * padding
    max_lon += lon_range * padding
    min_lat -= lat_range * padding
    max_lat += lat_range * padding

    # 3. 计算坐标转换的比例
    svg_padding = 50  # SVG画布边距
    x_scale = (width - 2 * svg_padding) / (max_lon - min_lon)
    y_scale = (height - 2 * svg_padding) / (max_lat - min_lat)
    
    def transform_coords(lon, lat):
        # 将经纬度转换为SVG坐标
        # 注意:SVG的y轴是向下的,所以需要用max_lat减去当前lat
        x = svg_padding + (lon - min_lon) * x_scale
        y = svg_padding + (max_lat - lat) * y_scale
        return x, y

    # 4. 生成SVG元素
    svg_elements = []
    
    # 定义样式
    svg_elements.append("""
    <style>
        .line { stroke: #4A90E2; stroke-width: 2; fill: none; }
        .cable { stroke: #7ED321; stroke-width: 3; stroke-dasharray: 5,5; fill: none; }
        .pole { fill: #D0021B; }
        .substation { fill: #F5A623; }
        .junction { fill: #BD10E0; }
        .other { fill: #444; }
        .label { font-family: sans-serif; font-size: 10px; fill: #333; text-anchor: middle; }
    </style>
    """)

    # 先画线
    for el in elements:
        if el['type'] == 'ACLineSegment':
            points_str = " ".join([f"{transform_coords(lon, lat)[0]},{transform_coords(lon, lat)[1]}" for lon, lat in el['points']])
            # YJV22是电缆型号
            line_class = 'cable' if 'YJV22' in el['name'] else 'line'
            svg_elements.append(f'<polyline points="{points_str}" class="{line_class}" />')

    # 再画点和标签,确保它们在线的上方
    for el in elements:
        if el['type'] != 'ACLineSegment':
            # 只处理点状对象
            if len(el['points']) == 1:
                lon, lat = el['points'][0]
                x, y = transform_coords(lon, lat)
                
                # 根据类型选择不同的符号
                if el['type'] in ['Pole', 'PoleSite']:
                    svg_elements.append(f'<circle cx="{x}" cy="{y}" r="4" class="pole" />')
                elif el['type'] == 'Substation':
                    svg_elements.append(f'<rect x="{x-6}" y="{y-6}" width="12" height="12" class="substation" />')
                elif el['type'] == 'Junction':
                     svg_elements.append(f'<circle cx="{x}" cy="{y}" r="5" class="junction" />')
                else: # 其他类型,如Fuse
                    svg_elements.append(f'<circle cx="{x}" cy="{y}" r="3" class="other" />')

                # 添加标签
                # 为了避免标签重叠,可以只显示部分关键设备的名称
                if el['type'] in ['Pole', 'Substation'] or '专变' in el['name']:
                    svg_elements.append(f'<text x="{x}" y="{y - 8}" class="label">{el["name"]}</text>')

    # 5. 组装成完整的HTML文件
    svg_content = f"""
    <svg width="{width}" height="{height}" xmlns="http://www.w3.org/2000/svg">
        {''.join(svg_elements)}
    </svg>
    """
    
    html_template = f"""
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>CIM to SVG 渲染示例</title>
        <style>
            body {{ font-family: sans-serif; margin: 0; padding: 20px; background-color: #f4f4f9; }}
            h1 {{ color: #333; }}
            .container {{ 
                border: 1px solid #ccc; 
                background-color: white; 
                box-shadow: 0 2px 8px rgba(0,0,0,0.1);
                max-width: {width}px;
                margin: auto;
                overflow: hidden; /* 确保SVG不会溢出容器 */
            }}
            svg {{ display: block; margin: auto; }}
        </style>
    </head>
    <body>
        <h1>电网GIS渲染图 (基于CIM XML)</h1>
        <div class="container">
            {svg_content}
        </div>
    </body>
    </html>
    """
    
    return html_template

# --- 主程序入口 ---
if __name__ == '__main__':
    # 生成HTML内容
    html_output = generate_svg_from_cim(CIM_XML_DATA.strip())
    
    # 将结果保存到文件中
    file_name = "gis_render.html"
    try:
        with open(file_name, "w", encoding="utf-8") as f:
            f.write(html_output)
        print(f"成功!已生成渲染文件: {file_name}")
        print(f"请用您的网络浏览器打开此文件查看结果。")
    except IOError as e:
        print(f"错误:无法写入文件 {file_name}: {e}")


如何使用

  1. 将上面的Python代码保存为一个文件,例如 render_gis.py
  2. 在您的终端或命令行中运行这个脚本:python render_gis.py
  3. 脚本会生成一个名为 gis_render.html 的文件。
  4. 用任意现代浏览器(如Chrome, Firefox, Edge)打开 gis_render.html 文件,您就能看到根据XML数据渲染出的电网结构图了。

进一步的改进方向

这是一个很好的起点,但还可以从以下几个方面进行深化和改进:

希望这个详细的解释和编程示范能帮助您入门!