Skip to main content
Version: 2.6.0

Processing Details

The PoF Network Extractor runs the following processes:

  1. Pre-load caching
  2. Convert node components
  3. Convert conductor components
  4. Spread voltages
  5. Process the network hierarchy
  6. Process LV meters
  7. Process HV meters
  8. Extract operational restrictions
  9. Extract geographical information
  10. Clean unwanted network
  11. Fix known data issues
  12. Collapse network
  13. Interpolate geographical information
  14. Save system names

Pre-Load Caching

Before any other processes run, we read the component header and required component attributes from the PoF database, and the latest meter mapping CSV is cached. You configure the database connection, and the location of the meter mapping file, in the app config.

The cached attributes are:

  • Cable Length
  • DPA Cable Code
  • DPA Length
  • Feeder
  • Feeder Name
  • GIS ID
  • Latitude
  • Longitude
  • Operating Voltage
  • Phase Conductor Material
  • Primary Voltage
  • Rating (kVA)
  • Secondary Voltage
  • Type

Convert Node Components

Component header records without a source and destination will be processed in this step. The type of object created is based on the component class mappings defined in the data config.

Graphics will be created based on entries in the hot spot positions table.

Convert Conductor Components

Component header records with a source and destination will be processed in this step. All entries will be created as AcLineSegments, and will be connected to the source and destination components.

Graphics will be created based on entries in the connections table.

The voltage of the AcLineSegment will be set based on the name of the component class.

Spread Voltages

Voltages will be spread from the AcLineSegments to the connected equipment and validated.

Process the Network Hierarchy

Processes all components defined as a feeder in the data config and performs the following actions:

  1. Extract the feeder name from the Feeder Name attribute.
  2. Extract the substation name from the feeder name using the first match group from the regex ^([A-Za-z]+)(((\d+).*)|( [Ff]dr \d+)|(OOS.)|(-.*))$.
  3. Find the substation component based on the zone clone ID (defined in the data config), the name (if it ends with 'T' it will also search for 'TS' and 'TS22') and being in a visible world.
  4. Find the sub geographical region as the parent of the substation.
  5. Find the geographical region as the first item up the component hierarchy that is defined as a business root in the data config.

All classes configured as sites in the data config will have the following processing performed:

  1. Remove the site component and create a Site object.
  2. Assign all child components to the Site object.

Process LV Meters

Creates meters and usage points for all meter records with transformers. Also validates the feeder attribute vs tracing from the DMS.

We use the most common locality from the addresses of meters associated with a transformer as the transformer locality.

Process HV Meters

Create meters for all records without transformers and associates them with the EnergyConsumer defined as the supply point using the GIS ID from the correlations created earlier.

Extract Operational Restrictions

Creates an operational restriction for all permits that match the following query (provided):

select
pac.PERMIT_REF AS CRO_REF,
pac.COMPONENT_ID,
pac.COMPONENT_DESCRIPTION as Description,
pmts.PERMIT_NAME as CRO_TYPE,
pmts.DISPLAYED_PERMIT_REF as CRO_PERMIT_REF,
pmts.CURRENT_STATE as CRO_STATE,
pmts.ISSUED_BY as CRO_Issued_By,
pmts.ISSUED_DATE as CRO_Issued_Date,
pmtxt3.TEXT as CRO_Details3,
pmtxt4.TEXT as CRO_Details4,
pmtxt5.TEXT as CRO_Details5
from PERMIT_ATTACHED_COMPS pac
inner join PERMITS pmts ON pac.PERMIT_REF = pmts.PERMIT_REF
inner join operations ops ON pac.PERMIT_REF = ops.PERMIT_ID AND pac.COMPONENT_ID = ops.COMPONENT_ID
left join PERMIT_TEXT pmtxt3 ON pmts.PERMIT_REF = pmtxt3.PERMIT_REF AND pmtxt3.TEXT_INDEX = 3
left join PERMIT_TEXT pmtxt4 ON pmts.PERMIT_REF = pmtxt4.PERMIT_REF AND pmtxt4.TEXT_INDEX = 4
left join PERMIT_TEXT pmtxt5 ON pmts.PERMIT_REF = pmtxt5.PERMIT_REF AND pmtxt5.TEXT_INDEX = 5
where pmts.PERMIT_NAME in('CRO', 'CRO_Inoperable', 'CRO_Operable') AND ops.CURRENT_STATE = 'Issued';

Extract Geographical Information

Every component with Easting/Northing header values that are not integers, or with Latitude/Longitude attributes, will have these values extracted as the geographic location of the component.

Clean Unwanted Network

The network cleaner removes anything that does not belong to a valid world as specified in the data config. To be considered valid, a component must satisfy one of the following:

  1. Is displayed in a valid world.
  2. Is connected to something that is displayed in a valid world. This is traced, not just immediately connected.
  3. Belongs to the same site as something that is displayed or connected in a valid world.

Fix Known Data Issues

The following fixes will be made to the network.

Removes DPA busbar nodes:

  1. Processes all components with class 885.
  2. Remove each connected internal AcLineSegment.
  3. Remove the component.

Collapses regulators:

  1. Processes all components with a class defined in the regulator data config.
  2. For each terminal, trace along all internal connections removing the internal connection and reconnecting any external connections to the terminal.

Fixes cross-wiring:

  1. Processes all components with multiple terminals.
  2. Find all surrounding internal connections.
  3. Find all surrounding components on the other end of the internal connections.
  4. Remove any internal connections connected directly between two surrounding components.

Rewires incorrect wiring:

  1. Processes all components with three or more terminals.
  2. Find all connected internal connections, and the component connected to the other end.
  3. If there is at least two internal and at least one external connections, attempt to remove the internals, and reconnect the attached components.
  4. Rewiring will not occur if any of the connected components:
    • Is a feeder start point.
    • Has a latitude/longitude.
    • Is a PowerTransformer.
    • Is an EnergySource.

Collapse Network

This process will replace fault indicators, removing any that are disconnected. The fault indicator will be placed at the symbol centre associated with a terminal connected to the original disconnector.

Perform the following for all visible components that are surrounded by internal connections:

  1. Trace along the internal connections looking for external connections and visible disconnect points.
  2. Ensure all disconnect points are not EnergySources and are closed.
  3. Ensure there were no loops in the internal connections.
  4. Ensure no disconnect point:
    • Is a feeder start point.
    • Has a latitude/longitude.
    • Is a PowerTransformer.
    • Is an EnergySource.
  5. Remove all disconnect points and internal connections, and reconnect any external connections.

Interpolate Geographical Information

Tries to fill in any missing latitude/longitudes using tracing to nearby components, or spreading junctions equally along straight line segments between known points.

Save System Names

Mapped GIS IDs are saved as names against added objects.