Essential geometric networks vocabulary

The following sections introduce some terms and concepts that are essential to understanding geometric networks.

Edges and Junctions

Geometric networks are composed of two main elements: Edges and Junctions.

Edges—An edge is a feature that has a length through which some commodity flows. Edges are created from line feature classes in a feature dataset .

Examples of edges: Water mains, electrical transmission lines, gas pipelines, and telephone lines

Junctions—A junction is a feature that allows two or more edges to connect and facilitates the transfer of flow and resources between edges. Junctions are created from point feature classes in a feature dataset.

Examples of junctions: Fuses, switches, service taps, and valves

Edges and junctions in a network are topologically connected to each other—edges must connect to other edges at junctions, and the flow from edges in the network is transferred to other edges through junctions.

Simple and complex edges

There are two types of edges in a geometric network:

  • Simple Edges —Simple edges allow resources to enter one end of the edge and exit the other end of the edge. The resource cannot be siphoned off or exit along the simple edge; it can only leave the edge at its endpoint. An example of a simple edge would be a water lateral in a water network. The water lateral connects at one end to a junction along the main distribution line and, at the other end, to a service point junction (such as a tap or pump). Once water enters the lateral, it will only exit the lateral at the service point.

    To support this behavior in the geometric network, simple edges are always connected to two junctions, one at each end. Simple edges have no midspan connectivity. If a new junction is snapped midspan on a simple edge, thereby establishing connectivity, then that simple edge is physically split into two separate features.

    A simple edge corresponds to a single edge element in the logical network.

  • Complex Edges —Complex edges allow resources to flow from one end to the other, just like simple edges, but they also allow resources to be siphoned off along the edge without having to physically split the edge feature. An example of a complex edge would be a water main in a water network. The main water distribution line is a single complex edge with multiple lateral lines connected to junctions along its length. The water main is not split at the junction where each lateral connects to the main, but does allow the water to siphoned off along each of the laterals.

    This behavior is supported with complex edges because they allow midspan connectivity. Just like simple edges, complex edges are always connected to at least two junctions at their endpoints, but they can also be connected to additional junctions along their length. If a new junction is snapped midspan on a complex edge, that complex edge remains a single feature. Snapping the junction causes the complex edge to be split logically, for example, if it corresponded to one edge element in the logical network before the junction was connected, it now corresponds to two edge elements.

    Complex edges correspond to one or more edge elements in the logical network.

User-defined and orphan junctions

There are two types of junctions in a geometric network:

  • User-defined junctions—Junctions that are created based on a user's source data (point feature classes) when the geometric network is first established. Examples of junctions are service points, fuses, stream gauges, or taps. Junctions correspond to a single junction element in the logical network.
  • Orphan junctions—When the geometric network is created, a simple junction feature class is created along with it called the orphan junction feature class. The name of the orphan junction feature class corresponds to the name of the geometric network appended with _Junctions. For example, a geometric network named Electric_Net would have a corresponding orphan junction feature class named Electric_Net_Junctions. The orphan junction feature class is used by the geometric network to maintain network integrity. During the creation of the geometric network, an orphan junction is inserted at the endpoint of any edge at which a geometrically coincident junction does not already exist in your source data. Orphan junction features can be removed from the geometric network by subsuming them with other junction features. To subsume an orphan junction is to incorporate it into the network by replacing it with a user-defined junction. There are well-defined rules for how junction subsumption works with orphan junctions.

    Learn more about subsuming network junctions

    The orphan junction feature class is deleted when its geometric network is deleted. For this reason, the schema of the orphan junction feature class should not be modified.

  • Mid-span connectivity — Connecting a junction at mid-span to an edge, thereby allowing resources to be siphoned from the edge; but leaving the edge as a single feature. This is supported by complex edges only.

The logical network

When a geometric network is created, the geodatabase also creates a corresponding logical network, which is used to represent and model connectivity relationships between features. The logical network is the connectivity graph used for tracing and flow operations. All connectivity between edges and junctions is maintained in the logical network.

The logical network is managed as a collection of tables that are created and maintained by the geodatabase. These tables record how the features involved in a geometric network are connected to one another. The logical network allows the geometric network to quickly discover and model the connectivity relationships between connected edges and junctions in a geometric network during editing and analysis. This allows fast network tracing and facilitates the generation of on-the-fly connectivity while editing.

When edges and junctions are edited or updated in the geometric network, the corresponding logical network is automatically updated and maintained as well. There is no need to rebuild the connectivity of features or to directly access the logical network; it is maintained for you by the geodatabase.

The following graphic shows how a water main, represented by a single complex edge in the geometric network, comprises multiple elements in the logical network. The water main's corresponding tables in the logical network are created and maintained by ArcGIS. When edits are made to the water main in the geometric network, ArcGIS automatically updates the corresponding elements in the logical network, and connectivity between features in the geometric network is maintained.

The logical network

Sources and sinks

Networks are often used to model real-world systems where the direction of movement through the network is well-defined. For example, the flow of electricity in an electrical network is from the power generation station to the customers. In a water network, the flow direction may not be as well-defined as in an electric network, but the flow of water may be from a pump station to a customer or from customers to a treatment plant. Geometric networks are an example of a directed flow system where each edge has a fixed direction of flow, such as a river network flowing downstream inside hydrologic channels.

Flow direction in a network is calculated from a set of sources and sinks. In the above examples, electricity and water flow are driven by sources and sinks. Flow is away from sources, such as the power generation station or a pump station, and toward sinks, such as a water treatment plant (in the case of a wastewater network).

Junctions in geometric networks can act as sources or sinks. When you create a new junction feature class in a network,you can specify which junction features classes will have features whose ancillary role may be sources, sinks, or none. If you specify that these features can be sources or sinks, a field called AncillaryRole is added to the feature class to record whether the feature is to act as a source, sink, or neither. If not already present, a domain called the AncillaryRoleDomain will be created and associated with the feature classes acting as sources or sinks.

For example, you may have a spill reported at an outfall in your wastewater network and want to find all the manholes that are upstream from the spill to isolate the source. By setting the outfall to be a sink, the flow for the network is recalculated by the system, and any traces on the network will be affected by the change in flow direction caused by the state of the outfall, allowing you to find all upstream manholes.

Learn more about network tracing

Network weights

A network can have a set of weights associated with it. A weight is used to represent the cost of traversing a feature in the network. For example, in a water network, a certain amount of pressure is lost when traveling the length of a transmission main due to surface friction within the pipe.

Network weights are associated with one to many feature classes in your geometric network and are stored within the logical network. Weight values for each network element are derived from attributes on the corresponding feature. In the transmission main example above, the weight value is derived from the length attribute of the feature.

A network can have any number of weights associated with it. Each feature class in the network may have some, all, or none of these weights associated with its attributes. The weight for each feature is determined by an attribute for that feature. A network weight can be associated with only one attribute in a feature class. The weight can also be associated with multiple feature classes. For example, a weight called Diameter can be associated with the attribute Diameter in the water main feature class and with the attribute Pipe_dia in the water lateral feature class.

A network weight value of zero is reserved and assigned to all orphan junctions. A network weight value of -1 indicates that the feature is impeded and cannot participate in tracing. Also, if a weight is not associated with any attributes of a feature class, then the weight values for all network elements corresponding to that feature class will be zero.

Enabled and disabled features

There are times when you want to block or disable the ability to trace through a feature in your geometric network. This may happen in an electrical network during a power outage, when overhead lines are downed by a storm. Since these power lines are no longer available, you would like to remove them from consideration during tracing operations.

Instead of deleting the feature or disconnecting the feature, you can disable the feature during tracing operations. A feature that is disabled acts as a barrier; when the network is traced, the trace will stop at any barriers it encounters in the network including disabled network features.

The enabled or disabled state of a network feature is a property maintained by a field Enabled. The Enabled field has a domain associated with it, the EnabledDomain. The EnabledDomain, and thus the Enabled field, has two possible values: true or false. When building a geometric network from simple feature classes, this field is automatically added to the input feature classes, and the EnabledDomain is created (if not already present) and is associated with the Enabled field. When you use ArcCatalog to create a network feature class, Enabled is a required field for the feature class.

When adding new features to a network, they are enabled by default.

How the logical network works with weights and the enabled and ancillary roles fields

Values stored in the network weight, ancillary role, and enabled fields are the user's view of the state of the feature in the logical network. When analysis, such as tracing and flow direction calculation, is performed against a network feature, the value of these fields within the feature is not directly referenced to determine the enabled, ancillary role state of the feature or its weight. Instead, these states of the feature are stored in the logical network, which is queried during these operations. This is done for performance reasons.

When you edit a network feature and change the value of the enabled, ancillary role, or weight field, the state of the feature in the internal topology tables is modified to remain in sync with the field values of the feature.