Effectuer des tâches de topologie courantes.

Disponible avec une licence Standard ou Advanced.

Une fois que vous créez une topologie, vous pouvez la modifier tout en l’utilisant et en la gérant ainsi que ses couches associées.

Lorsqu’une topologie est publiée en tant que couche d’entités Web, la topologie est utilisée, mise à jour et validée via une architecture orientée sur les services à l’aide d’un service d’entités. Dans ce scénario, les propriétés de la couche d’entités Web de topologie sont en lecture seule et les tâches de modification disponibles sont limitées.

La table suivante résume les tâches de modification de topologie prises en charge :

Tâche de modification de topologieTopologie accédée via ArcGIS ProCouche d’entités Web de topologie accédée via un service d’entités

Valider les zones à valider dans une topologie

Oui Oui

Corriger les erreurs et marquer les exceptions

Oui Oui

Exporter les erreurs et les exceptions de topologie

Oui Oui

Ajouter ou supprimer des champs dans une classe d’entités participant à une topologie

Oui

Changer le nom d’alias d’une classe d’entités ou de champs participant à une topologie

Oui

Propriétés de topologie > Renommer une topologie

Oui

Propriétés de topologie > Ajouter ou supprimer une classe d’entités dans une topologie

Oui

Propriétés de topologie > Ajouter, modifier ou supprimer des règles de topologie

Oui

Propriétés de topologie > Modifier la tolérance d’agrégat d’une topologie

Oui

Propriétés de topologie > Modifier le classement de cordonnées (XY) d’une classe d’entités dans une topologie

Oui

Attention :
Les processus présentés ci-dessous sont pris en charge avec une topologie accédée, mise à jour et validée via ArcGIS Pro.

Différentes modifications peuvent être apportées à une topologie. Dans certains cas, par exemple, lorsque vous renommez une topologie, la modification n'a aucune incidence sur l'état de la topologie. Dans d'autres situations, au contraire, la modification peut entraîner une revalidation de la topologie. Par exemple, des modifications, telles que l’ajout de classes d’entités ou de règles ou la modification de la tolérance d’agrégat, peuvent créer des zones à valider et des entités d’erreurs et nécessiter une nouvelle validation de la topologie.

Les mises à jour de schéma répertoriées dans cette rubrique peuvent être apportées aux topologies dans une géodatabase d’entreprise, qu’elles soient versionnées ou non ou publiées en tant que couche d’entités Web (service d’entités) ou non. Lorsqu’une topologie est publiée et utilisée en tant que service d’entités et qu’une mise à jour de schéma est nécessaire, arrêtez et redémarrez le service pour voir les changements.

Vous pouvez gérer les tâches de topologie courantes à l’aide de la boîte de dialogue Topology Properties (Propriétés de topologie), telles que les tâches suivantes :

  • Renommer la topologie
  • Changer la tolérance d’agrégat
  • Changer les classements de coordonnée
  • Ajouter et supprimer des classes d’entités
  • Créer, modifier et supprimer des règles
  • Enregistrer et charger des règles

En savoir plus sur les propriétés de la topologie

Ajouter une classe d’entités à une topologie

Procédez comme suit pour ajouter une classe d’entités à une topologie existante à l’aide de l’outil Add Feature Class to Topology :

  1. Dans le ruban Analyse, cliquez sur le bouton Python pour ouvrir la fenêtre Python.
  2. Saisissez ce qui suit pour exécuter l’outil Ajouter une classe d’entités à une topologie : arcpy.AddFeatureClassToTopology_management()
  3. Spécifiez le chemin d’accès à l’emplacement de la topologie dans laquelle vous voulez ajouter les classes d’entités (par exemple, "C:\\MyProject\\MyProject.gdb\\Streets\\StreetsTopo").
  4. Pour le paramètre Classe d'entités en entrée, saisissez l'emplacement de la classe d'entités que vous souhaitez ajouter à la topologie.

    Seules les classes d'entités du jeu de données d'entité et n'appartenant actuellement à aucune topologie ou réseau géométrique peuvent être ajoutées.

  5. Saisissez le classement des coordonnées x,y de la classe d’entités ou tapez "" pour utiliser la valeur par défaut.
  6. Saisissez le classement des coordonnées z de la classe d’entités ou tapez "" pour utiliser la valeur par défaut.
  7. Appuyez sur Entrée pour exécuter la commande.
  8. Répétez les étapes 2 à 7 pour ajouter plusieurs classes d’entités à la topologie.
  9. Validez la topologie à l'aide de l'outil Valider la topologie.

L’exemple suivant illustre l’exécution de l’outil AddFeatureClassToTopology dans la fenêtre Python :

arcpy.AddFeatureClassToTopology_management(r"C:\MyProject\MyProject.gdb\Streets\Street_Topo", r"C:\MyProject\MyProject.gdb\Streets\StreetNetwork", 1, 0.1)

Utiliser des sous-types dans une topologie

Lorsque vous concevez une géodatabase, examinez les options ci-dessous permettant d’utiliser des sous-types de classe d’entités dans votre topologie.

A propos des sous-types

Les sous-types vous permettent de modéliser plus efficacement des objets du monde réel en créant des sous-classes d’entités au sein d’une classe d’entités. Par exemple, les rues d’une classe d’entités des rues d’une ville peuvent être classées en trois sous-types : les petites rues, les rues collectrices et les grandes artères.

Pour en savoir plus sur les sous-types et la géodatabase, reportez-vous à la rubrique Introduction aux sous-types.

Sous-types au sein d’une topologie

Vous pouvez créer différentes règles pour divers sous-types dans une topologie. Cela vous permet d’appliquer certaines règles à des sous-types spécifiques.

Par exemple, supposons que vous avez deux sous-types d’entités linéaires rues, les rues normales (celles qui se connectent à d’autres rues aux deux nœuds) et les impasses (les voies sans issue sur un nœud). Vous pouvez créer une règle de topologie stipulant que les entités rues doivent être connectées à d’autres entités rues à leurs deux extrémités, sauf dans le cas où les rues appartiennent au sous-type voie sans issue ou impasse.

Supprimer une classe d'entités

Vous pouvez utiliser l'outil de géotraitement Supprimer une classe d'entités d'une topologie pour supprimer une classe d'entités d'une topologie.

  1. Dans le ruban Analyse, cliquez sur le bouton Python pour ouvrir la fenêtre Python.
  2. Saisissez ce qui suit pour exécuter l’outil Supprimer une classe d’entités d’une topologie : arcpy.RemoveFeatureClassFromTopology_management()
  3. Spécifiez le chemin d’accès à l’emplacement de la topologie contenant la classe d’entités à supprimer (par exemple, "C:\\MyProject\\MyProject.gdb\\Streets\\StreetsTopo").
  4. Pour le paramètre Classe d'entités à supprimer, saisissez l'emplacement de la classe d'entités que vous souhaitez supprimer de la topologie.
  5. Appuyez sur Entrée pour exécuter la commande.

    La classe d’entités est supprimée de la topologie. Pour supprimer plusieurs classes d’entités, exécutez cet outil pour chaque classe d’entités.

L’exemple suivant illustre l’exécution de l’outil RemoveFeatureClassFromTopology dans la fenêtre Python :

arcpy.RemoveFeatureClassFromTopology_management(r"C:\MyProject\MyProject.gdb\Streets\Street_Topo", r"C:\MyProject\MyProject.gdb\Streets\StreetNetwork")

Renommer une topologie

Pour renommer une topologie, procédez comme suit :

  1. Dans la fenêtre Catalog (Catalogue), cliquez avec le bouton droit sur la topologie et sélectionnez Rename (Renommer).
  2. Saisissez un nouveau nom.
  3. Appuyez sur la touche Entrée.
Remarque :

Le fait de renommer une topologie n’affecte pas son état et la topologie n’a pas besoin d’être revalidée.

Conseil :

Vous ne pouvez pas renommer une classe d’entités alors qu’elle participe à une topologie de géodatabase.

Modifier la tolérance d'agrégat

Vous pouvez utiliser l'outil de géotraitement Définir la tolérance de grappe pour modifier la tolérance de grappe d'une topologie.

  1. Dans le ruban Analyse, cliquez sur le bouton Python pour ouvrir la fenêtre Python.
  2. Saisissez ce qui suit pour exécuter l’outil Définir la tolérance d’agrégat : arcpy.SetClusterTolerance_management()
  3. Spécifiez le chemin d’accès à l’emplacement de la topologie contenant la tolérance d’agrégat à changer (par exemple, "C:\\MyProject\\MyProject.gdb\\Streets\\StreetsTopo").
  4. Spécifiez une nouvelle valeur de tolérance d’agrégat (par exemple, 0,00015).
  5. Appuyez sur Entrée pour exécuter la commande.
Remarque :

Lorsque vous changez la tolérance d’agrégat d’une topologie, celle-ci doit être revalidée. Plus la tolérance d'agrégat est importante, plus la probabilité que les entités de vos données soient déplacées augmente. Si la tolérance d'agrégat est trop élevée, les formes sont modifiées.

L’exemple suivant illustre l’exécution de l’outil SetClusterTolerance dans la fenêtre Python :

arcpy.SetClusterTolerance_management(r"C:\MyProject\MyProject.gdb\Streets\Street_Topo", 0.00015)

Utiliser les règles de topologie

Vous pouvez ajouter ou supprimer des règles d’une topologie existante à l’aide des outils de géotraitement.

Ajouter des règles à une topologie

Vous pouvez utiliser l'outil de géotraitement Ajouter une règle à une topologie pour ajouter une règle à une topologie.

  1. Dans le ruban Analyse, cliquez sur le bouton Python pour ouvrir la fenêtre Python.
  2. Saisissez ce qui suit pour exécuter l’outil Ajouter une règle à une topologie : arcpy.AddRuleToTopology_management()
  3. Spécifiez le chemin d’accès à l’emplacement de la topologie dans laquelle vous voulez ajouter la règle (par exemple, "C:\\MyProject\\MyProject.gdb\\Streets\\StreetsTopo").
  4. Saisissez la règle à ajouter, par exemple, "Les contours doivent être recouverts par les contours de (Surface-Surface)".
  5. Saisissez le chemin d'accès à la classe d'entités d'origine.
  6. Saisissez le sous-type de la classe d'entités en entrée ou d'origine. Saisissez la description du sous-type (pas le code). Si aucun sous-type n’existe dans la classe d’entités d’origine ou si vous voulez que la règle s’applique à tous les sous-types de la classe d’entités, laissez ce paramètre vide "".
  7. Saisissez le chemin d'accès à la classe d'entités de destination.
  8. Pour appliquer la règle à un sous-type dans la classe de destination, saisissez la description du sous-type.
  9. Appuyez sur Entrée pour exécuter la commande.

    La nouvelle règle est ajoutée à la topologie. Dans le cas de plusieurs règles, exécutez cet outil pour chaque règle.

Remarque :

Après l’ajout d’une règle, vous devez revalider la topologie.

L’exemple suivant illustre l’exécution de l’outil AddRuleToTopology dans la fenêtre Python :

arcpy.AddRuleToTopology_management("C:\\MyProject\\MyProject.gdb\\Streets\\Street_Topo",
                                                 "Boundary Must Be Covered By Boundary Of (Area-Area)",
                                                 "C:\\MyProject\\MyProject.gdb\\Streets\\Subdivision",
                                                 "",
                                                 "C:\\MyProject\\MyProject.gdb\\Streets\\Parcels",
                                                 "")

Supprimer une règle d'une topologie

Vous pouvez utiliser l'outil de géotraitement Supprimer une règle d'une topologie pour supprimer une règle d'une topologie.

  1. Dans le ruban Analyse, cliquez sur le bouton Python pour ouvrir la fenêtre Python.
  2. Saisissez ce qui suit pour exécuter l’outil Supprimer une règle d’une topologie : arcpy.RemoveRuleFromTopology_management()
  3. Spécifiez le chemin d’accès à l’emplacement de la topologie contenant la règle à supprimer (par exemple, "C:\\MyProject\\MyProject.gdb\\Streets\\StreetsTopo").
  4. Saisissez la règle à supprimer de la topologie, par exemple, "Ne doivent pas avoir d'arcs pendants (21)".

    Lors de l'exécution de cet outil à l'aide du script, la classe d'entités ObjectClassID impliquée dans la règle de topologie à supprimer doit être spécifiée entre parenthèses après le nom de la règle. Pour en savoir plus sur la recherche de la valeur ObjectClassID.

  5. Appuyez sur Entrée pour exécuter la commande.

    La nouvelle règle est supprimée de la topologie. Pour supprimer plusieurs règles, exécutez cet outil pour chaque règle.

Remarque :

Après la suppression d’une règle, vous devez revalider la topologie.

L’exemple suivant illustre l’exécution de l’outil RemoveRuleFromTopology dans la fenêtre Python :

arcpy.RemoveRuleFromTopology_management("C:\\MyProject\\MyProject.gdb\\Streets\\Street_Topo",
                                                      "Must Not Have Dangles (21)")

Modifier les classements de coordonnées

Vous pouvez changer les paramètres de classement dans une topologie.

Modifier le nombre de classements

Pour changer le nombre de classements, procédez comme suit :

  1. Cliquez avec le bouton droit de la souris sur la topologie et sélectionnez Properties (Propriétés).
  2. Cliquez sur l’onglet Feature Class (Classe d’entités).
  3. Saisissez le nombre de classements.
  4. Cliquez sur OK.

Une topologie prend en charge jusqu’à 50 classements auxquels il est possible d’attribuer des classes d’entités.

Remarque :

Il n’est pas nécessaire de revalider la topologie après avoir changé le nombre de classements.

Modifier le classement d'une classe d'entités

Pour changer le classement d’une classe d’entités, procédez comme suit :

  1. Cliquez avec le bouton droit de la souris sur la topologie et sélectionnez Properties (Propriétés).
  2. Cliquez sur l’onglet Feature Class (Classe d’entités).
  3. Cliquez sur Add Classes (Ajouter des classes) et cochez les cases en regard des classes d’entités que vous souhaitez classer.
  4. Cliquez sur OK.
  5. Saisissez le classement pour chaque classe d'entités.
  6. Cliquez sur OK.
Remarque :

Le fait de modifier le classement d’une classe d’entités nécessite que la topologie soit revalidée.

Utiliser les règles de topologie

Les sous-sections ci-dessous décrivent comment utiliser les règles d’une topologie.

Enregistrer les règles de topologie dans un fichier d’ensemble de règles

Vous pouvez enregistrer des règles sous la forme d’un fichier d’ensemble de règles pouvant être partagé et réutilisé.

  1. Cliquez avec le bouton droit de la souris sur la topologie et sélectionnez Properties (Propriétés).
  2. Cliquez sur l'onglet Rules (Règles).
  3. Cliquez sur Add (Ajouter).
  4. Sélectionnez la classe d'entités à laquelle vous souhaitez appliquer une règle dans le menu déroulant Feature Class 1 (Classe d'entités 1).
  5. Si des sous-types existent pour votre classe d'entités, choisissez celui s’applique dans le menu déroulant Subtype (Sous-type).
  6. Sélectionnez la règle que vous souhaitez appliquer à la classe d'entités dans le menu déroulant Rules (Règles).
  7. Cliquez sur OK.

Charger des règles de topologie à partir d’un fichier d’ensemble de règles

Pour charger des règles de topologie à partir d’un fichier d’ensemble de règles, procédez comme suit :

  1. Cliquez avec le bouton droit de la souris sur la topologie et sélectionnez Properties (Propriétés).
  2. Cliquez sur l'onglet Rules (Règles).
  3. Cliquez sur Enregistrer les règles.
  4. Cliquez sur Charger des règles.
  5. Accédez à l'emplacement dans lequel l'ensemble de règles à charger est enregistré.
  6. Cliquez sur l'ensemble de règles.
  7. Cliquez sur Open (Ouvrir).

    Si l'ensemble de règles est créé à partir d'une topologie dont les noms de classes d'entités sont identiques à ceux des classes d'entités de la nouvelle topologie que vous définissez, les classes d'entités nommées dans l'ensemble de règles doit correspondre exactement aux classes d'entités de la nouvelle topologie. Si les noms sont différents, vous devez faire correspondre les classes d’entités mentionnées dans l’ensemble de règles à leurs équivalents dans la nouvelle topologie.

  8. Pour chaque classe d'entités source non appariée, cliquez dans la colonne Cible puis cliquez sur la classe d'entités à laquelle elle correspond dans la nouvelle topologie.
  9. Cliquez sur OK dans toutes les boîtes de dialogue.
Remarque :
  • Charger un ensemble de règles dans une topologie avec des règles spécifiées auparavant ajoute les règles de l’ensemble de règles aux règles existantes.
  • Le chargement d’un ensemble de règles nécessite la revalidation de la topologie.
  • S’il existe des classes d’entités spécifiées dans un ensemble de règles que vous ne pouvez pas faire correspondre aux classes d’entités de la nouvelle topologie, les règles qui impliquent les classes d’entités non appariées ne sont pas chargées.

Récapituler les erreurs de topologie

Vous pouvez afficher un récapitulatif du nombre d’erreurs présentes dans une topologie dans la boîte de dialogue Topology Properties (Propriétés de la topologie). Le récapitulatif affiche le nombre d’erreurs et d’exceptions existant pour chaque règle de topologie.

Vous pouvez enregistrer le récapitulatif sous forme de fichier texte pour créer un enregistrement de l'état de la topologie à un moment donné. Cette méthode vous permettra de documenter et de contrôler l'état d'avancement d'un important projet de mise à jour topologique.

Interroger et naviguer dans un graphe topologique

Les outils de développeur ArcGIS permettent d’accéder au graphe topologique, qui constitue une représentation planaire des géométries dans les classes d’entités participant à une topologie. Pour plus d’informations sur l’utilisation du graphe topologique, reportez-vous à la documentation de l’aide ArcObjects pour .NET.