Quick and dirty PoC on rendering a substation described in a scd.
The various options are called this way :
SLDGenerator.computeAndWriteResults(String fileName_prefix, boolean stacked, boolean semiAutomaticPlacement);
semiAutomaticPlacement = false;
Results are found here ./results. Output Files are json and svg.
stacked = false
stacked = true
semiAutomaticPlacement = true;
The algorithm requires all the information for all the BusBars and Feeders or will crash.
When a bay defines a BusBar :
sxy:yis used to define theBusBarIndexinscdGraphBuilder::createBusBarSectionsyx:xis used to define theBusBarSectioninscdGraphBuilder::createBusBarSection
And for the Feeder scdGraphBuilder::createLoad:
sxy:xof the parentBayis used for theorderof the feeder.- no usefull information is found for the direction, therefore set to arbitrary value
Direction.TOP - To enable the coupling to be in the same area as the grounded feeder (same bay),
sxy:xis put as the order of any breaker found. The information is not used forExternCell, but when is used to define the order of anInternCell
- Done: parsing to create a corresponding graph.
- Done: add new kinds of component - that are beyond the one that are use for operation
- Done: there are disconnectors that do have only one connecting node. We will need to add fictitious feederNode to display the outgoing connected element (line / TR /....), but ideally, having - the information would be better.
- Done: there are connections to the ground. For this PoC, this will be a kind of feeder... but this is something that you may want to improve.
- Done: there are also informations regarding x,y position, that could be used for the semi-automatic algorithm. I will propose both approaches.
- Done: render!
- Todo: then we will have to handle more complex structures: the one proposed in the sample is simple... but let's keep that for a next step.