@enervance/insight-cim-model 0.0.231 → 0.0.232

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/converter/integral7/converter.integral7.d.ts +2 -0
  2. package/dist/converter/integral7/converter.integral7.js +91 -5
  3. package/dist/converter/integral7/converter.integral7.js.map +1 -1
  4. package/dist/converter/integral7/interface-i7/export-frame-i7.js +14 -0
  5. package/dist/converter/integral7/interface-i7/export-frame-i7.js.map +1 -1
  6. package/dist/converter/integral7/model/i7-graph-utils.d.ts +17 -0
  7. package/dist/converter/integral7/model/i7-graph-utils.js +103 -0
  8. package/dist/converter/integral7/model/i7-graph-utils.js.map +1 -0
  9. package/dist/converter/integral7/utils-cgmes-export.d.ts +1 -0
  10. package/dist/converter/integral7/utils-cgmes-export.js +7 -1
  11. package/dist/converter/integral7/utils-cgmes-export.js.map +1 -1
  12. package/dist/converter/integral7/utils.js +1 -1
  13. package/dist/converter/integral7/utils.js.map +1 -1
  14. package/dist/etl/etl-integral7/etl-integral7.js.map +1 -1
  15. package/dist/etl/etl-neplan/etl-neplan.d.ts +1 -1
  16. package/dist/etl/etl-neplan/etl-neplan.js +1 -1
  17. package/dist/etl/etl-neplan/neplan-contingency-analysis.js +4 -0
  18. package/dist/etl/etl-neplan/neplan-contingency-analysis.js.map +1 -1
  19. package/dist/model/core/ConductingEquipment.d.ts +2 -1
  20. package/dist/model/core/ConductingEquipment.js +4 -1
  21. package/dist/model/core/ConductingEquipment.js.map +1 -1
  22. package/dist/model/core/ConnectivityNode.d.ts +7 -1
  23. package/dist/model/core/ConnectivityNode.js +25 -1
  24. package/dist/model/core/ConnectivityNode.js.map +1 -1
  25. package/dist/model/core/Terminal.d.ts +1 -0
  26. package/dist/model/core/Terminal.js +4 -1
  27. package/dist/model/core/Terminal.js.map +1 -1
  28. package/dist/model/dc/ACDCConverterDCTerminal.js.map +1 -1
  29. package/dist/model/dc/DCBaseTerminal.d.ts +3 -0
  30. package/dist/model/dc/DCBaseTerminal.js +11 -0
  31. package/dist/model/dc/DCBaseTerminal.js.map +1 -1
  32. package/dist/model/dc/DCEquipmentContainer.d.ts +3 -0
  33. package/dist/model/dc/DCEquipmentContainer.js +4 -0
  34. package/dist/model/dc/DCEquipmentContainer.js.map +1 -1
  35. package/dist/model/dc/DCNode.d.ts +4 -0
  36. package/dist/model/dc/DCNode.js +26 -0
  37. package/dist/model/dc/DCNode.js.map +1 -1
  38. package/dist/model/dc/DCTopologicalNode.d.ts +19 -0
  39. package/dist/model/dc/DCTopologicalNode.js +56 -0
  40. package/dist/model/dc/DCTopologicalNode.js.map +1 -0
  41. package/dist/model/domain/Voltage.js.map +1 -1
  42. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.d.ts +2 -1
  43. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js +8 -1
  44. package/dist/model/extensions/amprion/core/AMPRIONConnectivityNode.js.map +1 -1
  45. package/dist/model/topology/TopologicalNode.d.ts +2 -1
  46. package/dist/model/topology/TopologicalNode.js +6 -3
  47. package/dist/model/topology/TopologicalNode.js.map +1 -1
  48. package/dist/model-container/model/ModelContainer.d.ts +3 -0
  49. package/dist/model-container/model/ModelContainer.js +5 -0
  50. package/dist/model-container/model/ModelContainer.js.map +1 -1
  51. package/dist/util/util-create.d.ts +3 -0
  52. package/dist/util/util-create.js +11 -2
  53. package/dist/util/util-create.js.map +1 -1
  54. package/dist/utils2/fuseki.utils.d.ts +1 -0
  55. package/package.json +1 -1
@@ -68,6 +68,8 @@ export declare class ConverterIntegral7 {
68
68
  * @return ein Promise mit Statusangabe */
69
69
  convert(objectMappingConfig: ObjectMappingConfigInterface, defaultValuesConfig: DefaultValuesConfigInterface, energyTypesConfig: any, exportConfig: IExportConfig[], energySourceTypeMappingConfig: IEnergySourceTypeMapping[], configUuid: Array<IUuidConfig>, tempDirPath: string): Promise<ConverterStatus>;
70
70
  convertFrame(frame: I7ExportFrame, geoRegion: GeographicalRegion, objectMappingConfig: ObjectMappingConfigInterface, energyTypesConfig: any, defaultValuesConfig: DefaultValuesConfigInterface, energySourceTypeMappingConfig: IEnergySourceTypeMapping[]): Promise<void>;
71
+ createTopologicalNodes(cimModel: ModelContainer): Promise<void>;
72
+ createDCTopologicalNodes(cimModel: ModelContainer): Promise<void>;
71
73
  private assignTerminalSequenceNumber;
72
74
  convertGeoRegionen(): Promise<GeographicalRegion[]>;
73
75
  convertRegelzone(cimModel: ModelContainer, defaultValuesConfig: DefaultValuesConfigInterface, standortIDs: number[]): Promise<void>;
@@ -142,6 +142,8 @@ const INTEGRALPowerTransformer2WInfo_1 = require("../../model/extensions/integra
142
142
  const impedance_utils_1 = require("./impedance.utils.js");
143
143
  const util_cim_model_1 = require("./util-cim.model.js");
144
144
  const EVAssetOriginKind_1 = require("../../model/extensions/enervance/assets/EVAssetOriginKind.js");
145
+ const i7_graph_utils_1 = require("./model/i7-graph-utils.js");
146
+ const TopologicalNode_1 = require("../../model/topology/TopologicalNode.js");
145
147
  const geodata_util_1 = require("../../util/geodata.util.js");
146
148
  class ConverterIntegral7 {
147
149
  constructor() {
@@ -538,7 +540,15 @@ class ConverterIntegral7 {
538
540
  startTime = perf_hooks.performance.now();
539
541
  yield this.assignTerminalSequenceNumber(cimModel);
540
542
  logExecutionTime(this.logger, startTime, `assignment of sequence number`);
541
- /** DC Model */
543
+ /** TopologicalNodes */
544
+ startTime = perf_hooks.performance.now();
545
+ if (schaltfeldIDs.length)
546
+ yield this.createTopologicalNodes(cimModel);
547
+ logExecutionTime(this.logger, startTime, `createTopologicalNodes()`);
548
+ startTime = perf_hooks.performance.now();
549
+ if (schaltfeldIDs.length)
550
+ yield this.createTopologicalNodes(cimModel);
551
+ logExecutionTime(this.logger, startTime, `createTopologicalNodes()`);
542
552
  /** DL Profile */
543
553
  if (!frame.boundary) {
544
554
  this.executor = new executor_1.Executor(this.mysqlController, this.configUuid);
@@ -622,6 +632,69 @@ class ConverterIntegral7 {
622
632
  }
623
633
  });
624
634
  }
635
+ createTopologicalNodes(cimModel) {
636
+ var _a, _b, _c;
637
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
638
+ const precessedConnectivityNodes = new Set();
639
+ const topologicalNodes = new Array();
640
+ for (const connectivityNode of cimModel.connectivityNodes.values()) {
641
+ /** bereits verbeitete Knoten überspringen */
642
+ if (precessedConnectivityNodes.has(connectivityNode.getUUID()))
643
+ continue;
644
+ /** Zusammengeschaltete CNs bestimmen */
645
+ const tpNodes = i7_graph_utils_1.I7GraphUtils.determineTopologicalNodes(cimModel, connectivityNode);
646
+ /** zusammengefasst CNs zwischenspeichern */
647
+ tpNodes.forEach(it => precessedConnectivityNodes.add(it.getUUID()));
648
+ /** create TopologicalNode */
649
+ const baseVoltage = (_a = tpNodes.find(it => it.getBaseVoltage())) === null || _a === void 0 ? void 0 : _a.getBaseVoltage();
650
+ const connectivityNodeContainer = (_b = tpNodes.find(it => it.getVoltageLevel())) === null || _b === void 0 ? void 0 : _b.getVoltageLevel();
651
+ const uuidV5Key = tpNodes.map(it => it.getUUID()).join();
652
+ const uuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.TopologicalNode, this.configUuid, uuidV5Key);
653
+ const topologicalNode = new TopologicalNode_1.TopologicalNode(uuid, `TP ${connectivityNodeContainer === null || connectivityNodeContainer === void 0 ? void 0 : connectivityNodeContainer.name} ${(_c = baseVoltage === null || baseVoltage === void 0 ? void 0 : baseVoltage.nominalVoltage) === null || _c === void 0 ? void 0 : _c.value}`, 'TP');
654
+ topologicalNode.setBaseVoltageUUID(baseVoltage === null || baseVoltage === void 0 ? void 0 : baseVoltage.mrid);
655
+ topologicalNode.setConnectivityNodeContainerUUID(connectivityNodeContainer === null || connectivityNodeContainer === void 0 ? void 0 : connectivityNodeContainer.mrid);
656
+ cimModel.addTopologicalNode(topologicalNode);
657
+ tpNodes.forEach(connectivityNode => {
658
+ connectivityNode.setTopologicalNodeUUID(topologicalNode === null || topologicalNode === void 0 ? void 0 : topologicalNode.mrid);
659
+ /** Terminal-Instanzen assoziieren */
660
+ for (const terminal of connectivityNode.terminals.values()) {
661
+ terminal.setTopologicalNodeUUID(topologicalNode === null || topologicalNode === void 0 ? void 0 : topologicalNode.mrid);
662
+ }
663
+ });
664
+ }
665
+ });
666
+ }
667
+ createDCTopologicalNodes(cimModel) {
668
+ var _a, _b, _c;
669
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
670
+ const precessedConnectivityNodes = new Set();
671
+ for (const connectivityNode of cimModel.dcNodes.values()) {
672
+ /** bereits verbeitete Knoten überspringen */
673
+ if (precessedConnectivityNodes.has(connectivityNode.getUUID()))
674
+ continue;
675
+ /** Zusammengeschaltete CNs bestimmen */
676
+ const tpNodes = i7_graph_utils_1.I7GraphUtils.determineTopologicalNodes(cimModel, connectivityNode);
677
+ /** zusammengefasst CNs zwischenspeichern */
678
+ tpNodes.forEach(it => precessedConnectivityNodes.add(it.getUUID()));
679
+ /** create TopologicalNode */
680
+ const baseVoltage = (_a = tpNodes.find(it => it.getBaseVoltage())) === null || _a === void 0 ? void 0 : _a.getBaseVoltage();
681
+ const connectivityNodeContainer = (_b = tpNodes.find(it => it.getVoltageLevel())) === null || _b === void 0 ? void 0 : _b.getVoltageLevel();
682
+ const uuidV5Key = tpNodes.map(it => it.getUUID()).join();
683
+ const uuid = common_utils_1.CommonUtils.generateUUIDv5(cim_class_names_1.ClassNames.TopologicalNode, this.configUuid, uuidV5Key);
684
+ const topologicalNode = new TopologicalNode_1.TopologicalNode(uuid, `TP ${connectivityNodeContainer === null || connectivityNodeContainer === void 0 ? void 0 : connectivityNodeContainer.name} ${(_c = baseVoltage === null || baseVoltage === void 0 ? void 0 : baseVoltage.nominalVoltage) === null || _c === void 0 ? void 0 : _c.value}`, 'TP');
685
+ topologicalNode.setBaseVoltageUUID(baseVoltage === null || baseVoltage === void 0 ? void 0 : baseVoltage.mrid);
686
+ topologicalNode.setConnectivityNodeContainerUUID(connectivityNodeContainer === null || connectivityNodeContainer === void 0 ? void 0 : connectivityNodeContainer.mrid);
687
+ cimModel.addTopologicalNode(topologicalNode);
688
+ tpNodes.forEach(connectivityNode => {
689
+ connectivityNode.setTopologicalNodeUUID(topologicalNode === null || topologicalNode === void 0 ? void 0 : topologicalNode.mrid);
690
+ /** Terminal-Instanzen assoziieren */
691
+ for (const terminal of connectivityNode.terminals.values()) {
692
+ terminal.setTopologicalNodeUUID(topologicalNode === null || topologicalNode === void 0 ? void 0 : topologicalNode.mrid);
693
+ }
694
+ });
695
+ }
696
+ });
697
+ }
625
698
  assignTerminalSequenceNumber(cimModel) {
626
699
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
627
700
  let terminal_visited = [];
@@ -5716,7 +5789,8 @@ class ConverterIntegral7 {
5716
5789
  for (const frame of gridFrames) {
5717
5790
  this.addDefaultObjectsLoadModel(frame.cimModel, defaultValuesConfig);
5718
5791
  this.addDefaultObjectsGeo(frame.cimModel, defaultValuesConfig);
5719
- frame.initProfileXmlSerializers([rdf_xml_1.RDF_XML.PROFILE_DL, rdf_xml_1.RDF_XML.PROFILE_EQ, rdf_xml_1.RDF_XML.PROFILE_SSH, rdf_xml_1.RDF_XML.PROFILE_GL, rdf_xml_1.RDF_XML.PROFILE_AMPI7, rdf_xml_1.RDF_XML.PROFILE_DY, rdf_xml_1.RDF_XML.PROFILE_SV], tempDirPath, this.configUuid);
5792
+ frame.initProfileXmlSerializers([rdf_xml_1.RDF_XML.PROFILE_DL, rdf_xml_1.RDF_XML.PROFILE_EQ, rdf_xml_1.RDF_XML.PROFILE_SSH, rdf_xml_1.RDF_XML.PROFILE_GL, rdf_xml_1.RDF_XML.PROFILE_AMPI7, rdf_xml_1.RDF_XML.PROFILE_DY, rdf_xml_1.RDF_XML.PROFILE_SV, rdf_xml_1.RDF_XML.PROFILE_TP], tempDirPath, this.configUuid);
5793
+ frame.addDependentModel(rdf_xml_1.RDF_XML.PROFILE_TP, frame.getModelUUID(rdf_xml_1.RDF_XML.PROFILE_EQ));
5720
5794
  }
5721
5795
  this.exportFrames = this.associateGeoRegionsToExportFrames(gridFrames);
5722
5796
  // Default Model
@@ -6635,9 +6709,21 @@ function getGeoCoordinates(i7Data) {
6635
6709
  /** Fall 3
6636
6710
  * 3-degree Gauss-Kruger zone 3 */
6637
6711
  if (i7Data.geokoor_gk_rechts && i7Data.geokoor_gk_hoch) {
6638
- let epsg = 'EPSG:31467';
6639
- if (String(i7Data.geokoor_gk_rechts).charAt(0) === '2') {
6640
- epsg = 'EPSG:31466';
6712
+ let epsg = '';
6713
+ const gkZone = String(i7Data.geokoor_gk_rechts).charAt(0);
6714
+ switch (gkZone) {
6715
+ case '2': {
6716
+ epsg = 'EPSG:31466';
6717
+ }
6718
+ case '3': {
6719
+ epsg = 'EPSG:31467';
6720
+ }
6721
+ case '4': {
6722
+ epsg = 'EPSG:31468';
6723
+ }
6724
+ default: {
6725
+ console.log(`Unbekanntes Gauss-Kruger Koordinatenformat ${gkZone}`);
6726
+ }
6641
6727
  }
6642
6728
  const points = geodata_util_1.GeodataUtil.convertPoint(+i7Data.geokoor_gk_rechts, +i7Data.geokoor_gk_hoch, epsg);
6643
6729
  return [String(points[0]), String(points[1])];