Generering av enlinjeskjema
Master thesis
Permanent lenke
https://hdl.handle.net/11250/2780905Utgivelsesdato
2020Metadata
Vis full innførselSamlinger
Sammendrag
I masteroppgaven er det lagd et dataprogram i Python som genererer enlinjeskjema av stasjoner i kraftnettet. Programmet leser inn data fra en XML-fil på CIM-standarden innenfor kraftnett, ved hjelp av biblioteket PyCIM. Komponentene inne i hver stasjon gjøres om til en NetworkX graf. I den prosesses gjøres også flere forenklinger, ved å fjerne uinteressante elementer fra grafen.
Det er implementert en algoritme som gir komponenter posisjon. Algoritmen lager en layout for hvert spenningsnivå i stasjonen uavhengig av de andre spenningene, før de slås sammen på slutten. Algoritmen deler inn komponentene i grener av sammenhengende komponenter. En gren posisjoneres i en vertikal kolonne. Grener som er koblet sammen plasseres ved siden av hverandre.
Det er også generert layout ved hjelp av grafvisualiseringsalgoritmen dot. Enlinjeskjemaene fra de to ulike layoutalgoritmene sammenlignes og kvaliteten blir vurdert. Begge algoritmene har sterke og svake sider, som gjør at ingen av algoritmene får gode resultater for alle typer stasjoner, men alle stasjoner får en god layout med minst en av algoritmene.
I oppgaven er det også vist hvordan enlinjeskjemaet kan tegnes som et interaktivt SVG-bilde, basert på den genererte layouten.
Programmet er testet på et datasett med 1155 stasjoner. Programmet har fortsatt mangler, som gjør at 29 av disse ikke blir tegnet. I this thesis it is written a computer program in Python, which generates one-line diagrams of substations in a power grid. The program reads data from an XML file, by using the library PyCIM. The XML file follows the CIM standard for power grids. For each substation in the grid, the components and their connections are used to create a NetworkX graph. During that process the graph is simplified by removing uninteresting elements, which are part of the CIM standard.
It is implemented an algorithm to give posisions to the components. The algorithm makes a layout for each voltage level within the substation independent of the others, before they are merged together. The algorithm divides the components into branches, which are positioned in a vertical line. Connected branches are positioned next to each other.
The graph visualization algorithm dot is also used to generate a layout. The resulting one-line diagram from both methods are compared and their quality are considered. Both algorithms have strong suits and weak suits, which means that neither algorithm can draw all kinds of substations successfully. However, all substations get a good layout from at least one of the algorithms.
The layout is used to draw an one-line diagram as an interactive SVG image.
The program is tested on a dataset with 1155 substations. The program still has some flaws, which causes 29 of the substations to not be drawn.