Select to view content in your preferred language

Calculate Flow Arrows add-in

2002
7
10-17-2025 11:01 AM
RobertKrisher
Esri Regular Contributor
6 7 2,002

adobestock-314929219 - Copy.jpg

We recently developed a Calculate Flow Arrows community sample that allows a user to visualize the flow direction of subnetworks and have included a copy of the community sample as an add-in on this post. This sample includes quite a few limitations, and we recommend that customers who are serious about understanding the flow in their network seek out partner solutions that do not have these limitations and provide a more robust user experience.

While this add-in is useful for many different kinds of networks, it is designed primarily to support the radial flow found in electric distribution networks. This is different from pressurized pipes of pipeline networks like gas and water, which are either heavily looped (distribution) or possess simple topographies (transmission). This also differs from gravity-based networks such as sewer and stormwater which often use a flow direction field to model the effects of gravity, and visualize the resulting flow in the network, using the techniques described in the Tracing using Digitized Direction article.

Usage

1. Download the add-in from this post and double-click the file to and select Install Add-in to install it.

Double-click the add-in file to open the dialog that allows you to install it.Double-click the add-in file to open the dialog that allows you to install it.

 This add-in was built for ArcGIS Pro 3.5. If you have an older ArcGIS Pro client, this add-in may not load or work properly.

2. Open ArcGIS Pro. On the ribbon you will notice an additional Add-in tab. Select the Add-in tab and you will see a Show Flow Arrows Pane command.

Launch the calculate flow arrows pane using the command on the Add-in tab of the ribbon.Launch the calculate flow arrows pane using the command on the Add-in tab of the ribbon.

3. Click the Show Flow Arrows command to open the Calculate Flow Arrows pane.

Meet the calculate flow arrows pane.Meet the calculate flow arrows pane.

The pane will populate the Tier parameter dropdown with the tiers from the first utility network in your map. You can refresh the list by closing and re-opening the pane.

4. For the Tier parameter, select the tier you want to analyze from the dropdown; this will populate the Subnetworks parameter dropdown with clean subnetworks in the tier.

Select the tier that contains the subnetwork you want to analyze.Select the tier that contains the subnetwork you want to analyze.

The pane will only load the first 3000 clean, active subnetworks from the tier. You can force the pane to load dirty subnetworks by clicking the Include Dirty parameter.

5. For the Subnetworks parameter, select the subnetwork you want to analyze and click the Analyze Subnetwork command.

Select the subnetwork you want to analyze from the list.Select the subnetwork you want to analyze from the list.

6. The tool will output several log messages as it exports and analyzes the subnetwork.

Click analyze to calculate and display the flow for the selected subnetwork.Click analyze to calculate and display the flow for the selected subnetwork.

When the analysis completes it creates a FlowLines feature class added inside the default geodatabase for your project if one doesn’t already exist. You can control whether previous flow arrow results will be deleted from the layer by selecting the Clear previous results parameter.

The first time you run the tool you will need to add the newly created layer to your map.

7. Add the FlowLines layer to your map to visualize the results.

An example of flow arrows for the distribution lines within a substation and all its downstream circuits.An example of flow arrows for the distribution lines within a substation and all its downstream circuits.

A sample layer file has been included in this article that includes sample symbology. Add it to your map and point it to the FlowLines layer in your project.

8. If the tool was run with the Apply filter parameter checked, a definition query will be applied to the FlowLines layer, and the map will zoom to the selected subnetworks.

9. You can change the active subnetwork, or remove the filter, by changing the active definition query using the Ribbon or layer properties.

The FlowLines layer has definition queries for each subnetwork you analyze.The FlowLines layer has definition queries for each subnetwork you analyze.

This definition query will filter the flow arrows to only show the selected subnetwork.

10. The flow calculated can be one of four different values:

The initial symbology for the FlowLines layer allows you to visualize flow for each section of line.The initial symbology for the FlowLines layer allows you to visualize flow for each section of line.

• With Digitized Direction – The flow calculated from the subnetwork controller matches the digitized direction of the line.

• Against Digitized Direction – The flow calculated from the subnetwork controller is in the opposite of the digitized direction of the line.

• Indeterminate – The line was found to be part of a loop within the network.

• Bi-directional – The line is not part of a loop, but the flow calculated for the line is different depending on the subnetwork controller used to calculate flow.

11. The FlowLines layer also includes a chart that can be used to quickly identify features that have indeterminate or bi-directional flow.

The chart on the FlowLines layer allows you to quickly identify indeterminate or bidirectional flow on the current subnetwork.The chart on the FlowLines layer allows you to quickly identify indeterminate or bidirectional flow on the current subnetwork.

Known Limitations

The add-in is provided with several known limitations. Because the utility network doesn’t expose flow information, the tool estimates flow direction for the utility network features. Because of this, there are certain scenarios where the flow direction calculated by this tool may differ from the actual flow direction returned by an upstream/downstream trace of the utility network.

This tool is designed for and works best with balanced electrical distribution networks with a single condition barrier. While it can still be run on circuits that have multiple condition barriers or propagators, the flow will be calculated using more basic logic.

The tool can also be run on subnetworks from other domains but may run slower on large networks or networks with many subnetwork controllers.

If you find that the flow arrows calculated by the tool are incorrect for your network configuration, you should seek out partner solutions for this problem. While it is possible to download and extend the community sample, it requires a deep understanding of the domain being analyzed and graph traversal algorithms.

Conclusion

While this add-in does have many limitations, we felt that it was a good way for customers who were getting familiar with the utility network to begin understanding flow. We also recognize that as customers become familiar with the utility network and more advanced workflows, they will want to rely on partner solutions that don't suffer from the limitations of this tool and provide a more robust user experience.

Please be aware that support is not provided for this tool. If you run into any issues with the add-in or have questions, you can raise these on the community site.

If you want to see any enhancements to the tool or need it Enhancements and support for other releases of ArcGIS Pro can be completed using a version of the Calculate Flow Arrows community sample which you maintain from the ArcGIS Pro SDK Community Samples page.

This add-in is provided with compatibility for ArcGIS Pro 3.5 and supports all utility network schema versions. You can analyze clean subnetworks beginning with ArcGIS Enterprise 10.9. 1; however, analyzing dirty subnetworks requires ArcGIS Enterprise 11.1 or later. This tool supports both capabilities on utility networks contained in File and Mobile geodatabases.

7 Comments
gis_KIWI4
Frequent Contributor

This is amazing! Thanks for sharing this Robert. Our team is quite excited to try this out. 

VenkataKondepati
Regular Contributor

This is an excellent contribution. The add-in looks very useful for visualizing subnetwork flow directly in ArcGIS Pro without waiting for future core updates. It’s great to see Esri sharing community samples that bridge immediate needs for utility network users. The flexibility to adapt and extend the sample code will definitely help teams tailor it to their own configurations. Thanks for making this available to the community!

Regards,

Venkat

gis_KIWI4
Frequent Contributor

@RobertKrisher - I have tried using the add-in but ArcGIS pro just crashes. On the first click nothing happens and on the second click it brings up "appication has stopped working" error. 

I am using ArcGIS Pro 3.5.4 and I have tried this will Enterprise 11.5 and mobileGDB.
I have also tried this on my personal laptop just to test if the anti-malware software were trying to stop this on my work laptop.

Any known issues with this version of ArcGIS Pro? 

Recording 2025-10-22 110723.gif

RobertKrisher
Esri Regular Contributor

@gis_KIWI4 There was an issue with the original add-in I posted (the 1.0.0 version), try downloading the 1.0.1 version and see if that fixes the issue.

gis_KIWI4
Frequent Contributor

@RobertKrisher - Thanks! That worked like a charm. Conveniently missed the fact the v1.0.1 was uploaded.

gis_KIWI4_0-1761174755399.png

Thanks again! 

RogerFarmer1
Frequent Contributor

@RobertKrisher This Add-In works well. I would like to know if it is possible to go beyond the first 3000 clean networks and/or analyse the entire Tier. We have around 8000 LV Subnetworks. I found that the FlowLines layer became clogged with Definition Queries, but I also found the Apply Filter feature very handy at the same time.

Thank you so much!

RogerFarmer1_0-1762743980619.png

 

RobertKrisher
Esri Regular Contributor

@RogerFarmer1 the add-in is provided as-is. The code for it will be released soon, at which point you can customize the add-in however you want.

Contributors