In the Analyzing topology errors article we showed you how you can use the new Analyze Network Data tool to identify topology errors in your utility network data. In this article we will show you how you can use the resulting database and the Apply Error Resolutions tool to resolve the topology errors the tools discovered.
The Apply Error Resolutions tool is best used during the data migration process, before the network topology has been enabled and before data has been loaded into an enterprise geodatabase. This tool must be run on a utility network with a disabled topology. The tool can be used to apply resolutions against data that has been loaded into an enterprise geodatabase if the data is not registered as versioned, and the tool is run as a user that has permissions to edit the corresponding feature classes using the database connection.
While there can be many causes and resolutions for each error, this article will discuss the most common approaches to addressing each error along with resources you can use to help you determine the most appropriate path forward. The errors in this article are listed from most common to least common, for the errors that the Analyze Network Data tool can identify. For more information on why Analyze Network Data only supports certain errors, read the Analyzing topology errors article. Errors with no automated resolutions are included in this article with references to additional resources which can help you resolve the errors.
Topology Errors
Below you will find a summary of the different types of errors the tool can detect.
Topology Error | Description | Actions Available |
|---|
Ambiguous connectivity | This occurs when there is more than one rule available for a potential connection. | None |
Duplicate vertices | This occurs when a line has two or more duplicate vertices. | Delete (Vertex) |
Empty Geometry | This error occurs when a line feature has a zero or near-zero length. | Delete (Feature) |
Edge connectivity policy | This occurs when a line has a connection that violates its edge-connectivity policy. | None |
Invalid terminal | This occurs when the from terminal id or to terminal id field of a line is not valid for one of the devices/junctions its connected to. | None |
Midspan terminal device | This occurs when a device that has a terminal configuration is drawn midspan on a line. | None |
Missing junction | This occurs when two features with a different asset type are connected without a junction or device. | Create |
Rule missing | This occurs when two features are potentially connected but there is not a rule that permits it. | None |
Self-intersecting line | This occurs when the geometry of a line intersects itself. | Delete (Vertex) |
Shape length | This error occurs when a line feature has a zero or near-zero length. | Delete (Feature) |
Stacked points | This occurs when two or more junctions or devices are within a tolerance (xy) and occupy the same z location. | Delete (Feature) Update (Feature) |
Subnetwork tap | This error occurs when a feature with the subnetwork tap category is drawn at the end point of a single line or at the endpoint intersection of two lines. | None |
Vertex within tolerance | This error occurs when two or more vertices are within the spatial tolerance of the dataset but not topologically coincident. | Anchor Snap |
Note: There are two delete actions: Delete All and Delete All But First. The table above lists both these actions as simply Delete, because either action is appropriate. Additionally, the table above specifies whether the delete applies to the entire feature or just the vertex in error even though this information isn't specified in the action.
When reviewing errors using the attribute table, consider changing the row height of your table so you can see all the asset types on an error. You can change this by going to Project > Options > Table > Columns and rows > Row Height and set it to triple or double.
Error Resolutions
Manually cleaning up data is something that many customers do in preparation for their data migration. However, certain errors lend themselves better to automated cleanup, or you may decide that for your first attempt at migrating to the utility network you want to quickly apply automated fixes to your data.
Regardless of the reason for your decision, you can specify automated resolutions to your data using the Error Resolutions table. The Error Resolutions table has the following columns:
- Error code – The error identified at the location
- Analysis types– A concatenated list of all the features present at that location.
- Resolution key – An ID that uniquely identifies the error associated with the fix
- Group position – When multiple types of features are present at a location, this gives the order they were encountered
- Feature type – The network class, asset group, and asset type of the feature in this location
- Source class – The utility network layer the fix will be applied to
- Asset group – The asset group of the feature the fix will be applied to
- Asset type – The asset type of the feature the fix will be applied to
- Context – Whether the feature at this location represents an error, or a feature coincident with the error
- Action – What action to apply to this feature to resolve the issue, if any
- Delta X – How much the feature should be offset in the x direction
- Delta Y – How much the feature should be offset in the y direction
- Delta Z – How much the feature should be offset in the z direction
- Delta step – If there are multiple features offset at this location, how much each subsequent feature should be offset
- Create/Update type – The class, asset group, and asset type to use for creating a new feature or updating the existing feature.
Actions
The following table describes the actions available for each fix.
Action | Description |
|---|
Create | This action will create a new feature. When this action is selected you must specify the type of feature using the Create/Update type field. |
Update all Update all but first | This action will update the corresponding vertex or feature(s). If there are multiple features associated with the fix you can choose to update all the features or update all of them but the first feature. When updating the feature(s) you can use this action to update the location of a feature using the delta x, y, z, and step fields. When there are multiple coincident features make sure you specify a delta step value to ensure each subsequent feature is offset from the previous feature. You can also change the asset group and/or asset type of a feature using the Create/Update type field. |
Delete all Delete all but first | This action will delete the corresponding vertex or feature(s). If there are multiple features associated with the fix you can choose to delete all the features/vertices or to delete all of them but the first feature/vertex. |
Anchor Snap | These resolutions are used to resolve the Vertex within tolerance error. They allow one vertex to be designated as the anchor location and the remaining vertices can be snapped to that location. |
When reviewing the fixes for an error you will often see multiple rows with the same Resolution Key. Each of these rows either represents one of the features in error or a feature that is coincident with the feature in error. When specifying an action, you will almost always be applying the fix to one or more of the error features. If there are multiple error rows for the fix, you will need to think carefully about which feature you apply the fix to.
Once you’ve determined the fixes for all the issues you want to automate, you’re ready to apply the resolutions. Any remaining issues will need to be resolved manually. The manual resolution process can be facilitated by using the location features in the diagnostics database.
Examples
What follows is a series of examples of resolutions and actions for each topology error.
Missing junction
This error occurs when two features with a different asset type are connected without a junction or device. Each error indicates whether it occurs between the midpoint or endpoint of each line. For two lines to be connected the endpoint of one line must connect to the endpoint, or midspan, on the other line.
Missing junction errors are described in three different ways:
- End/End - The endpoints of two separate lines are coincident. If no junction is created there will be an error in the utility network. This error is typically resolved by creating a feature at the endpoint of the two lines to connect the two features.
- Mid/End - The endpoint of one line connects midspan to another line. If no junction is created there will be an error in the utility network. This error is typically resolved by creating a feature on the endpoint of one line that taps into the second.
- Mid/Mid - The two lines share midspan vertices. These lines are not connected and do not report any errors in the utility network. They are reported for informational purposes.
Midpoint/midpoint coincidence, shown as mid-mid, situations are included for informational purposes only since these features are not considered for connectivity and will not create errors. You do not need to apply resolutions for mid-mid missing junction errors to have an error free topology. These errors are filtered out from the layers using definition queries but are visible if you look at the table directly or remove the definition queries.
The most common resolution to missing junction errors is to create a junction feature at the intersection of the two lines. To perform this resolution, look at the resolutions for the error, you will see at least two different line types in the list. Select only one of the resolutions, set its action to Create, and pick the Create/Update type of the point feature you want to create at that location.
Additional Resources
Address common errors in the utility network (article)
Utility Network Error management – Topology Errors (article)
Utility Network Error Management – Electric topology errors (article)
Gestion des erreurs du Utility Network – erreurs de topologie Gaz et Pipeline (article)
Gestion des erreurs du Utility Network – erreurs de topologie Eau (article)
Corriger les erreurs de connectivité dans un utility network (tutoriel)
À propos des entités d'erreur (aide en ligne)
Points empilés
Cela se produit lorsque deux jonctions ou dispositifs ou plus sont dans la tolérance xy et à la même position z. Les enregistrements en erreur indiqueront quels types d'entités sont empilés, si un seul type est listé alors il y a plusieurs instances de cette entité empilées à cet emplacement. La colonne clé de groupe indiquera les types de lignes, le cas échéant, présents à cet emplacement et peut vous aider à comprendre comment résoudre au mieux l'erreur.
La résolution la plus courante pour cette erreur est de laisser une entité en place et de supprimer ou décaler les entités restantes. Pour effectuer cette résolution, trouvez toutes les entités ponctuelles pour l'erreur dans le tableau des Résolutions d'erreurs. Identifiez l'entité que vous souhaitez conserver et définissez son action sur Mettre à jour tout sauf le premier ou Supprimer tout sauf le premier.
S'il y a différents types d'entités ponctuelles empilées, définissez l'action pour les autres résolutions ponctuelles sur Mettre à jour tout ou Supprimer tout.
Utiliser l'action Supprimer est une solution facile mais n'est pas couramment utilisée lors des migrations en production. Les migrations en production utilisent généralement les actions Mettre à jour tout et Mettre à jour tout sauf le premier avec un décalage xyz pour conserver les entités originales pour une révision ultérieure. Si vous décalez plusieurs types d'entités ponctuelles, assurez-vous que leurs décalages sont configurés de manière à ne pas créer d'entités ponctuelles empilées au nouveau décalage. S'il y a plus de 2 entités décalées, assurez-vous également de spécifier une valeur Delta Step pour garantir que les entités empilées suivantes soient continuellement décalées.
Ressources supplémentaires
Traiter les erreurs courantes dans le utility network (article)
Gestion des erreurs du Utility Network – Erreurs de topologie (article)
Gestion des erreurs du Utility Network – erreurs de topologie Électrique (article)
Gestion des erreurs du Utility Network – erreurs de topologie Gaz et Pipeline (article)
Gestion des erreurs du Utility Network – erreurs de topologie Eau (article)
Corriger les erreurs de topologie dans un utility network (tutoriel)
À propos des entités d'erreur (aide en ligne)
Ligne auto-intersectante
Cela se produit lorsque la géométrie d'une ligne s'intersecte elle-même. L'entité d'emplacement d'erreur indiquera le sommet spécifique où la ligne s'intersecte elle-même et la colonne clé de groupe dans le résumé d'erreur indiquera s'il y a d'autres entités présentes à cet emplacement. Il est important de noter combien de types différents sont listés dans la colonne des enregistrements en erreur, car cela déterminera comment appliquer les résolutions pour corriger.
La résolution la plus courante pour cette erreur est de supprimer les sommets responsables de l'auto-intersection de la ligne. S'il n'y a qu'un seul type dans la colonne des enregistrements en erreur, trouvez la ligne correspondant à l'erreur dans le tableau des résolutions, et définissez son action sur Supprimer tout sauf le premier.
La résolution la plus courante pour les lignes auto-intersectantes est de supprimer le sommet qui cause l'auto-intersection.
Si plusieurs résolutions avec le même type apparaissent dans la colonne des enregistrements en erreur, vous devrez définir un type sur Supprimer tout sauf le premier et définir les autres types sur Supprimer tout. Cela se produit lorsqu'une ligne auto-intersectante se trouve au sommet initial ou final d'une entité, ce qui entraîne qu'un sommet intermédiaire et un sommet final soient signalés comme étant en erreur. La résolution la plus courante consiste à définir la résolution du sommet intermédiaire sur Supprimer tout et celle du sommet final sur Supprimer tout sauf le premier. Cela préservera le point final de la ligne tout en supprimant les sommets internes causant l'auto-intersection.
Ressources supplémentaires
À propos des entités d'erreur (aide en ligne)
Outils pour vérifier et réparer les géométries (aide en ligne)
Sommets dupliqués
Cela se produit lorsqu'une ligne a deux sommets ou plus dupliqués dans la tolérance xy et à la même valeur z. L'entité d'emplacement d'erreur indiquera l'emplacement spécifique des sommets dupliqués et la colonne clé de groupe dans le résumé d'erreur indiquera s'il y a d'autres entités présentes à cet emplacement.
Les sommets dupliqués résultent souvent d'une erreur de numérisation, faites attention aux entités proches lors de la résolution de ces erreurs.
La résolution la plus courante pour cette erreur est de supprimer les sommets dupliqués. Pour effectuer cette résolution, trouvez la ligne correspondant à l'erreur dans le tableau des corrections et définissez l'action sur toutes les entités linéaires sur Supprimer tout sauf le premier. Lorsque les résolutions d'erreurs sont appliquées, cela supprimera tous les sommets dupliqués pour les entités spécifiées, tout en laissant intacts les sommets uniques pour la ligne.
La résolution la plus courante pour les sommets dupliqués est de supprimer ces sommets dupliqués
Ressources supplémentaires
À propos des entités d'erreur (aide en ligne)
Outils pour vérifier et réparer les géométries (aide en ligne)
Géométrie vide
Cette erreur se produit lorsqu'une entité linéaire a une géométrie vide. La seule résolution automatisée pour cette erreur est de supprimer l'entité, car une géométrie vide ne peut pas être mise à jour.
La résolution la plus courante pour cette erreur est de dessiner manuellement la géométrie de l'entité, si vous pouvez identifier son emplacement. Si vous souhaitez supprimer automatiquement cette entité via une action dans l'outil de résolution d'erreurs, trouvez la ligne dans le tableau Résolution d'erreurs avec ce code d'erreur et définissez son action sur Supprimer tout.
La résolution la plus courante pour une erreur de géométrie vide est de supprimer l'entité en utilisant l'action Supprimer tout.
Ressources supplémentaires
À propos des entités d'erreur (aide en ligne)
Outils pour vérifier et réparer les géométries (aide en ligne)
Longueur de forme
Cette erreur se produit lorsqu'une entité linéaire a une longueur nulle ou quasi nulle.
Les erreurs de longueur invalide se produisent lorsque le sommet début/fin d'une ligne est identique ou presque identique.
La résolution la plus courante pour cette erreur est de redessiner manuellement la ligne pour corriger la géométrie. Si vous souhaitez supprimer automatiquement cette entité via une action dans le tableau Résolution d'erreurs, trouvez la ligne correspondante avec ce code d'erreur et définissez son action sur Supprimer tout.
La résolution la plus courante pour cette erreur est de supprimer l'entité linéaire.
Ressources supplémentaires
À propos des entités d'erreur (aide en ligne)
Outils pour vérifier et réparer les géométries (aide en ligne)
Dispositif terminal milieu portée
Cela se produit lorsqu'un dispositif ayant une configuration terminale est placé au milieu d'une portée sur une ligne.
Lorsqu'un dispositif possède des terminaux, il doit diviser la ligne à laquelle il est connecté, sinon une erreur topologique sera créée.
La résolution la plus courante consiste à diviser la ligne à l'endroit où le dispositif est connecté. Les outils ne peuvent actuellement pas appliquer une résolution automatique pour ce problème ; cependant, vous pouvez utiliser le mode Par Entité de l'outil Diviser pour diviser plusieurs entités simultanément.
Aucune action n'est disponible pour diviser automatiquement les lignes. Si vous souhaitez diviser les lignes, vous devez utiliser l'outil Diviser dans ArcGIS Pro.
Une des méthodes les plus précises pour identifier les entités devant être divisées est d'utiliser l'outil Sélectionner par emplacement avec Relations : Contient Clementini et Dans Clementini.
Utilisez l'outil Sélectionner par emplacement pour limiter l'opération de division aux lignes nécessitant une division.
Ressources supplémentaires
Gestion des erreurs du Utility Network – Erreurs de topologie (article)
Gestion des erreurs du Utility Network – erreurs de topologie Électrique (article)
Gestion des erreurs du Utility Network – erreurs de topologie Gaz et Pipeline (article)
Gestion des erreurs du Utility Network – erreurs de topologie Eau (article)
Corriger les erreurs de topologie dans un utility network (tutoriel)
À propos des entités d'erreur (aide en ligne)
Connectivité ambiguë
Cela se produit lorsqu'il y a plus d'une règle disponible pour une connexion potentielle entre entités. Ce type d'erreur n'est pas courant lors de l'utilisation de l'outil Migrate To Utility Network sauf si vous ajoutez des règles à votre réseau et/ou modifiez la configuration terminale d'un type d'actif.
'Connectivité ambiguë' se produit lorsqu'il existe plusieurs règles permettant aux entités de se connecter, comme lorsqu'un dispositif possède plusieurs terminaux.
(article)
Utility Network Error management – Topology Errors (article)
Utility Network Error Management – Electric topology errors (article)
Utility Network Error Management – Gas and Pipeline Topology errors (article)
Utility Network Error Management – Water topology errors (article)
Fix connectivity errors in a utility network (tutorial)
Configure rules for a utility network (tutorial)
About error features (online help)
Rule missing
Cela se produit lorsqu'un point et une ligne sont potentiellement connectés mais qu'il n'existe pas de règle jonction-arête qui le permette. Ce type d'erreur n'est pas courant lors de l'utilisation de l'outil Migrate to utility network à moins que vous n'ajoutiez un nouveau type d'actif sans ajouter une règle correspondante, supprimiez des règles existantes ou modifiiez la configuration du terminal d'un type d'actif. Cette vérification ne prend pas en compte les règles arête-jonction-arête que vous définissez dans votre base de données.
Les erreurs de règle manquante se produisent lorsque deux entités tentent de se connecter dans le utility network, mais qu'il n'existe pas de règle qui permette leur connexion.
Si les deux entités doivent être autorisées à se connecter, la solution consiste à ajouter une règle permettant leur connexion. Vous pouvez consulter la liste de toutes les règles candidates jonction-arête pouvant être importées dans le fichier RuleCandidates.csv créé avec la base de données des résultats d'analyse.Assurez-vous de vérifier le fichier des règles avant de l'importer pour garantir que toutes les règles sont correctes pour vos données et pour éviter d'introduire involontairement une connectivité ambiguë. Ceci est particulièrement important si vous avez déjà configuré des règles arête-jonction-arête.
Utilisez l'outil Import Rules pour importer le fichier CSV des règles candidates créé par l'outil.
Si les deux entités ne doivent pas être autorisées à se connecter, assurez-vous que les entités ont les bons types d'actifs et sont dessinées correctement. Vous pouvez y parvenir soit en modifiant manuellement le groupe d'actifs et le type d'actif de l'entité, soit en utilisant l'action Update all dans le tableau de résolution pour corriger automatiquement les types d'actifs de toutes les entités affectées.
Vous pouvez utiliser l'action Update all pour mettre à jour le type d'actif des entités si vous déterminez qu'elles sont mal classifiées.
Si vous souhaitez apprendre comment modifier vos règles de connectivité pour améliorer la qualité des données, lisez l'article refining your connectivity rules (bientôt disponible !)
Ressources supplémentaires
Résoudre les erreurs courantes dans le utility network (article)
Gestion des erreurs du Utility Network – Erreurs de topologie (article)
Gestion des erreurs du Utility Network – Erreurs de topologie électrique (article)
Gestion des erreurs du Utility Network – Erreurs de topologie gaz et pipeline (article)
Gestion des erreurs du Utility Network – Erreurs de topologie eau (article)
Corriger les erreurs de connectivité dans un utility network (tutoriel)
Configurer les règles pour un utility network (tutoriel)
À propos des entités en erreur (aide en ligne)
Affiner vos règles de connectivité (tutoriel)
Terminal invalide
Cela se produit lorsque le champ from terminal id ou to terminal id d'une ligne n'est pas valide pour l'un des dispositifs ou jonctions auxquels elle est connectée. Ce type d'erreur n'est pas courant lors de l'utilisation de l'outil Migrate To Utility Network sauf si vous assignez manuellement des terminaux sans utiliser l'outil Assign Terminal Connections.
L'erreur terminal invalide se produit lorsqu'une ligne est connectée à un dispositif qui possède des terminaux, mais qu'elle fait référence à un terminal qui n'existe pas.
La résolution la plus courante pour cette erreur est de mettre à jour le terminal sur la ligne avec une valeur valide en utilisant le volet Modify Terminal Connections.
Utilisez le volet Modify Terminal Connections pour résoudre manuellement toute identification de terminal invalide. L'interface utilisateur affichera uniquement les connexions terminales valides pour les entités.
Ressources supplémentaires
Résoudre les erreurs courantes dans le utility network (article)
Gestion des erreurs du Utility Network – Erreurs de topologie (article)
Gestion des erreurs du Utility Network – Erreurs de topologie électrique (article)
Gestion des erreurs du Utility Network – Erreurs de topologie gaz et pipeline (article)
Gestion des erreurs du Utility Network – Erreurs de topologie eau (article)
Corriger les erreurs de connectivité dans un utility network (tutoriel)
Configurer les règles pour un utility network (tutoriel)
À propos des entités en erreur (aide en ligne)
Politique de connectivité d'arête
Cette erreur se produit lorsqu'une ligne avec edge connectivity policy, aun sommet final has a line, junction, or device connected to one of its midspan vertices. Models created by the Migrate To Utility Network tool have a default connectivity policy of Any Vertex. If you encounter this error, you must either redraw the line, the features connected to the line or change the connectivity policy for the edge in error.
Additional Resources
Fix topology errors in a utility network (tutorial)
Configure rules for a utility network (tutorial)
About error features (online help)
Subnetwork tap
This error occurs when a feature with the subnetwork tap category is drawn at the end point of a single line or at the endpoint intersection of two lines. This kind of error is not possible when using the Migrate To Utility Network tool unless you manually assign the subnetwork tap category to an asset type.
Subnetwork tap features have certain cartographic requirements that must be met. Resolving this issue requires you to make a choice about whether a feature should be a subnetwork tap, and how it should be drawn within the system.
If the junction or device feature is improperly classified, you can use the error resolution table to correct its asset group and asset type. Otherwise, you must manually resolve this error by adjusting the location of the junction/device, so it is no longer at the endpoint of both lines. You can learn more about the topological requirements of subnetwork taps by reading the additional resources below.
Additional Resources
About error features (online help)
Subnetwork taps (online help)
Vertex Within Tolerance
This error occurs when two or more features have common vertices that are close enough to each other to be considered coincident with a spatial query, but not close enough to be consistently topologically connected. It is recommended that these features be snapped to share a common location to ensure they are consistently connected and traceable.
This issue will not be reported if there are other errors, like stacked point features, present at the same location.
Note: If there is only a single resolution available for this error summary that means there are multiple features, or vertices, at that location. In this case you should set the resolution to anchor. This will use the first object in the resolution as the anchor and the remaining objects for that resolution will be snapped.
Additional Resources
None