The standard geometric network editing rules outlined in the editing section apply to and are honored by reconcile and conflict resolution. The primary rules are:
An edge must always have at least two junctions, one at each endpoint.
Simple edges do not support midspan connectivity; complex edges do support midspan connectivity.
Orphan junctions cannot subsume each other.
Reconcile will not create new features; this includes orphan junction features.
Conflicts can result if the same feature (s) are modified in both the parent/target version and the the child/edit version. The update may be to either the connectivity and/or geometry/attributes. The following scenarios detail common situations with geometric networks, reconcile and conflicts. Each reconcile example is performed in favor of target, with conflicts defined by object. In each of these examples, version 1 is the parent/target version, while version 2 is the child/edit version.
Scenario 1 is an example of a geometry edit to the same feature in both the parent and child versions. The complex edge feature (CEF1) is edited in each version, which results in it being identified as a conflict following reconcile.
While the complex edge has not been directly edited, the creation of the junction at midspan in version 1 and the edge and junction at midspan in version 2, both result in a new vertex being inserted for the edge. Since the geometry of the edge is updated in both versions, it is in conflict after reconcile.
Scenario 2 is an example of a connectivity update performed to the same feature, in this case a junction feature, in the parent and child. In version 1, an edge is deleted from a connected junction while in version 2 a new edge has been created that is connected to that same junction. Even though the connectivity of the junction has changed in both versions, there are no conflicts after reconcile.
If the update is only to the connectivity of a feature in two versions, the feature will not be in conflict following reconcile. The reconcile process detects when only the connectivity of features has been changed in each version and filters these features as conflicts.
Scenario 3 is an example of feature deletion in the parent and a connectivity update in the child version. In version 1, a junction with 3 connected edges is deleted while in version 2 a new edge has been created and connected to that same junction deleted in version 1. Following reconcile, the junction and the newly created edge are in conflict.
This is an example of conflict propagation involving new features. If the end point junction of an edge that was created in the child version was deleted in the parent, the newly created edge will be propagated to be a conflict. If the newly inserted edge was not propagated to a conflict, a scenario could be encountered during conflict resolution where the newly inserted edge could not be restored. Scenario 3 illustrates this behavior, the two features in conflict are not present following the reconcile, since it was performed in favor of Target. If the newly inserted edge had not been propagated to a conflict; it would not be possible to restore it following the reconcile; it would be lost.
Scenario 3a is the opposite of scenario 3. In version 1, a new edge has been created and connected to a junction. Tthat same junction is deleted in version 2. Following reconcile, only the junction that was deleted in version 2 is in conflict. The edge created in the parent is not in conflict.
Scenario 4 is an example of an attribute update in the parent and connectivity update in the child. An attribute of edge CEF1 is updated in version 1, while in version 2, the connectivity of the edge is updated when a connected junction is deleted. Note that the update to the edge in version 2 could have been to its connectivity or geometry. Both the edge whose attribute was updated in version 1 and the junction deleted in version 2 are in conflict following reconcile.
This is an example of conflict propagation involving existing features. The attribute update of CEF1 in version 1 propagated to its connected junctions. When one of those junctions was modified in version 2, it resulted in that junction being propagated to a conflict.
The disconnected state of features is not considered or maintained. Features that were disconnected prior to reconciliation may become connected following it. This will occur when the feature itself or a feature with which it is coincident has been edited in the version that you choose to have the conflicts resolved in favor of on the Reconcile options dialog box.