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:y
is used to define theBusBarIndex
inscdGraphBuilder::createBusBarSection
syx:x
is used to define theBusBarSection
inscdGraphBuilder::createBusBarSection
And for the Feeder scdGraphBuilder::createLoad
:
sxy:x
of the parentBay
is used for theorder
of 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:x
is 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.