145 lines
4.2 KiB
C++
145 lines
4.2 KiB
C++
|
|
#include "head.h"
|
||
|
|
//int extern balance_node;
|
||
|
|
#include "qt_readxml.h"
|
||
|
|
#include <iomanip>
|
||
|
|
#include <iostream>
|
||
|
|
using namespace std;
|
||
|
|
bool Qt_readxml::XmlReaderDisnetReconfig(QIODevice *file8)
|
||
|
|
{
|
||
|
|
//std::cout<<"XmlReaderwriteFile"<<std::endl;
|
||
|
|
QTextStream out(file8);
|
||
|
|
/*------------------------------------------
|
||
|
|
输出第一块
|
||
|
|
-------------------------------------------*/
|
||
|
|
out<<totalBus<<" "<<totalLine<<"\r\n";
|
||
|
|
out<<0<<"\r\n";
|
||
|
|
|
||
|
|
/*------------------------------------------
|
||
|
|
输出第二块
|
||
|
|
-------------------------------------------*/
|
||
|
|
int sub_no=substation.size();
|
||
|
|
int k=1;
|
||
|
|
for (int i=0;i<sub_no;i++)
|
||
|
|
{
|
||
|
|
int node;
|
||
|
|
if (substation[i].GIS_type=="1001")
|
||
|
|
{
|
||
|
|
int connector_no=connector.size();
|
||
|
|
for (int j=0;j<connector_no;j++)
|
||
|
|
{
|
||
|
|
if (connector[j].island==maxIsland)
|
||
|
|
{
|
||
|
|
if (connector[j].MemberOf_EquipmentContainer_res.size())
|
||
|
|
{
|
||
|
|
if (connector[j].MemberOf_EquipmentContainer_res[0].contains(substation[i].ID))
|
||
|
|
{
|
||
|
|
node = connector[j].link_from;
|
||
|
|
substation[i].flag=node;
|
||
|
|
out<<k<<" "<<node<<"\r\n";
|
||
|
|
k++;
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
out<<0<<"\r\n";
|
||
|
|
/*------------------------------------------
|
||
|
|
输出第三块
|
||
|
|
-------------------------------------------*/
|
||
|
|
k=1;
|
||
|
|
int line=acline_segment.size();
|
||
|
|
int trans=power_transformer.size();
|
||
|
|
for (int i=0;i<line;i++)
|
||
|
|
{
|
||
|
|
if (acline_segment[i].island==maxIsland)
|
||
|
|
{
|
||
|
|
out<<k<<" "<<acline_segment[i].link_from<<" "<<acline_segment[i].link_to<<"\r\n";
|
||
|
|
k++;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
for (int i=0;i<trans;i++)
|
||
|
|
{
|
||
|
|
if (power_transformer[i].island==maxIsland)
|
||
|
|
{
|
||
|
|
out<<k<<" "<<power_transformer[i].link_1<<" "<<power_transformer[i].link_2<<"\r\n";
|
||
|
|
k++;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
out<<0<<"\r\n";
|
||
|
|
out<<0<<"\r\n";
|
||
|
|
out<<0<<"\r\n";
|
||
|
|
out<<0<<"\r\n";
|
||
|
|
|
||
|
|
/*------------------------------------------
|
||
|
|
输出第四块
|
||
|
|
-------------------------------------------*/
|
||
|
|
k=1;
|
||
|
|
double UB=0;
|
||
|
|
for (int i=1;i<=totalBus;i++)
|
||
|
|
{
|
||
|
|
double PG=0;
|
||
|
|
double QG=0;
|
||
|
|
for (int j=0;j<sub_no;j++)
|
||
|
|
{
|
||
|
|
if (substation[j].flag==i)
|
||
|
|
PG=150;
|
||
|
|
}
|
||
|
|
int m;
|
||
|
|
for (m=0;m<trans;m++)
|
||
|
|
{
|
||
|
|
if (power_transformer[m].island==maxIsland)
|
||
|
|
if (power_transformer[m].low == i)
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
if(m<trans)
|
||
|
|
{
|
||
|
|
double PL=((power_transformer[m].APower)+(power_transformer[m].BPower)+(power_transformer[m].CPower));
|
||
|
|
double QL=((power_transformer[m].AReactivePower)+(power_transformer[m].BReactivePower)+(power_transformer[m].CReactivePower));
|
||
|
|
if (PL==0 && QL==0)
|
||
|
|
{
|
||
|
|
out<<k<<" "<<i<<" "<<PG<<" "<<QG<<" "<<"0"<<" "<<"0"<<"\r\n";
|
||
|
|
k++;
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
out<<k<<" "<<i<<" "<<PG<<" "<<QG<<" "<<QString().sprintf("%.6lf",PL)<<" "<<QString().sprintf("%.6lf",QL)<<"\r\n";
|
||
|
|
k++;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
out<<k<<" "<<i<<" "<<PG<<" "<<QG<<" "<<"0"<<" "<<"0"<<"\r\n";
|
||
|
|
k++;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
out<<0<<"\r\n";
|
||
|
|
out<<0<<"\r\n";
|
||
|
|
|
||
|
|
/*------------------------------------------
|
||
|
|
输出第五块
|
||
|
|
-------------------------------------------*/
|
||
|
|
k=1;
|
||
|
|
for (int i=0;i<line;i++)
|
||
|
|
{
|
||
|
|
if (acline_segment[i].island==maxIsland)
|
||
|
|
{
|
||
|
|
out<<k<<" "<<acline_segment[i].link_from<<" "<<acline_segment[i].link_to<<" "<<"1"<<"\r\n";
|
||
|
|
k++;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
for (int i=0;i<trans;i++)
|
||
|
|
{
|
||
|
|
if (power_transformer[i].island==maxIsland)
|
||
|
|
{
|
||
|
|
out<<k<<" "<<power_transformer[i].link_1<<" "<<power_transformer[i].link_2<<" "<<"0"<<"\r\n";
|
||
|
|
k++;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
out<<0<<"\r\n";
|
||
|
|
out<<0<<"\r\n";
|
||
|
|
|
||
|
|
return 0;
|
||
|
|
}
|