Subsume Junction with Default


Subsumption is the act of classifying an object into a more comprehensive category. When the user specifies an Edge-Edge connectivity rule, a junction can be specified as the default. Currently, the default junction is inserted when a new edge is snapped along an existing edge. However, the default junction is not inserted when when a new edge is snapped to the end of an existing edge. The Subsume Junction with Default sample provides the user with the ability to subsume the existing junction with the default junction specified by the corresponding Edge-Edge connectivity rule when snapping a new edge to the end of an existing edge.

The sample is implemented as the Edit Task: Create Feature with Default Junction. The task is enabled when an edit session is active and the target layer is an edge feaure class. Snapping must be set to the layers to which the edges will connect.

How to use:
  1. Register the SubsumeDefaultJunction.dll on your machine.
  2. Use Categories to add the dll to the 'ESRI Edit Tasks' component category.
  3. Start ArcMap and load a geometric network containing edge feature classes for which at least one Edge-Edge connectivity rule has been specified.
  4. Start an edit session.
  5. Select the Edit Task: Create Feature with Default Junction and specify the target layer as one of the edge classes specified in the rule.
  6. Set the snapping for the junction feature class to subsume
  7. Create the edge feature snapping it to the junction of the existing edge feature.
  8. Select the new default junction connecting the two edges to specify its attribute values.


Requires: An edit session with network junction features

Difficulty: Intermediate

Visual Basic
File Description
cSubsumeDefaultJunction.cls Implementation for the Edit Task command.
SDJProj_SubsumeDefaultJunction.vbp The project file for the sample editor command.
SubsumeDefaultJunction.dll The compiled project.

Key CoClasses: Editor, EdgeConnectivityRule
Key Interfaces: INetworkFeature, IGeometricNetwork, IRowSubtypes, ISubTypes, IEdgeFeature, ISimpleJunctionFeature, IEditTask, IValidation, IRule, IEdgeConnectivityRule
Key Members: INetworkFeature::GeometricNetwork, IGeometricNetwork::OrphanJunctionFeatureClass, ISubTypes::HasSubtype, ISubTypes::SubtypeName, IRowTypes::SubtypeCode, IEdgeFeature.ToJunctionFeature, IEdgeFeature.FromJunctionFeature, ISimpleJunctionFeature.EdgeFeatureCount, IValidation.RulesBySubtypeCode, IEdgeConnectivityRule.DefaultJunctionSubtypeCode, IEdgeConnectivityRule.FromEdgeClassID, IEdgeConnectivityRule.ToEdgeClassID, IEdgeConnectivityRule.FromEdgeSubtypeCode, IEdgeConnectivityRule.ToEdgeSubtypeCode