Résumé
Génère un rapport des problèmes de géométrie dans une classe d'entités.
Les formats valides en entrée sont les shapefiles et les classes d'entités stockées dans une géodatabase personnelle ou une géodatabase fichier. Les géodatabases ArcSDE vérifient automatiquement la validité de chaque géométrie lors de son téléchargement, c'est pourquoi les fonctions Vérifier les géométries et Réparer les géométries ne sont pas destinées à être utilisées avec SDE.
Pour des informations supplémentaires sur les problèmes de géométrie, leur impact sur le logiciel et les sources potentielles, reportez-vous à la rubrique Vérification et réparation des géométries.
Utilisation
La Table en sortie contient un enregistrement pour chaque problème de géométrie découvert. Si aucun problème n'est trouvé, la table est vide.
La Table en sortie a les champs suivants :
- CLASS : chemin complet et nom de la classe d'entités dans laquelle le problème a été trouvé.
- FEATURE_ID : identifiant de l'entité (FID) ou Identifiant d'objet (OID) de l'entité avec le problème de géométrie.
- PROBLEM : courte description du problème.
Le champ PROBLEM contient l'un des éléments suivants :
- Short segment : certains segments sont plus courts que ce qu'autorisent les unités système de la référence spatiale associée à la géométrie.
- Null geometry : l'entité n'a aucune géométrie ou rien dans le champ SHAPE.
- Incorrect ring ordering : le polygone est simple d'un point de vue topologique, mais ses boucles peuvent ne pas être orientées correctement (boucles externes : sens horaire, boucles internes : sens anti-horaire).
- Incorrect segment orientation : des segments particuliers ne sont pas orientés de manière cohérente. Le point d'arrivée du segment i doit correspondre au point de départ du segment i+1.
- Self intersections : un polygone ne doit pas être auto-sécant.
- Unclosed rings : le point d'arrivée du dernier segment dans une boucle doit correspondre au point de départ du premier segment.
- Empty parts : la géométrie comporte plusieurs parties et l'une d'elles est vide (n'a aucune géométrie).
- Duplicate vertex : la géométrie a deux sommets ou plus qui ont des coordonnées identiques.
- Mismatched attributes : la coordonnée Z ou M de l'extrémité d'un segment de ligne ne correspond pas à la coordonnée Z ou M de l'extrémité coïncidente sur le segment suivant.
- Discontinuous parts : une des parties de la géométrie est composée de parties déconnectées ou discontinues.
- Empty Z values : la géométrie présente un ou plusieurs sommets incluant une valeur Z vide (NaN, par exemple).
- Bad envelope : l'enveloppe ne correspond pas à l'étendue des coordonnées de la géométrie.
- Bad dataset extent : l'étendue du jeu de données ne contient pas toutes les entités.
Il existe plusieurs façons de résoudre le problème identifié par cet outil :
- Mettez à jour et réparez manuellement l'entité comportant les problèmes de géométrie. Certains problèmes ne peuvent pas être résolus via une mise à jour.
- Exécutez l'outil Réparer les géométries sur les classes d'entités identifiées comme ayant des problèmes de géométrie.
Pour les entités ponctuelles, seul le problème de géométrie nulle est possible.
Pour faciliter la révision des entités identifiées comme ayant des problèmes de géométrie, vous pouvez joindre les entités en entrée à la table en sortie à l'aide de l'outil Ajouter une jointure, ainsi qu'avec le champ OBJECTID ou FID de l'entrée et le champ FEATURE_ID de la table en sortie.
Syntaxe
CheckGeometry_management (in_features, out_table)
Paramètre | Explication | Type de données |
in_features [in_feature,...] | Une ou plusieurs classes d'entités ou couches d'entités à vérifier afin de rechercher d'éventuels problèmes de géométrie. Les entrées valides sont les fichiers de formes et les classes d'entités stockés dans une géodatabase personnelle ou une géodatabase fichier. | Feature Layer |
out_table | Table en sortie contenant les problèmes de géométrie découverts dans les entités en entrée. | Table |
Exemple de code
Exemple 1 d'utilisation de l'outil CheckGeometry (fenêtre Python)
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction CheckGeometry en mode immédiat.
import arcpy
arcpy.env.workspace = "c:/data/data.gdb"
arcpy.CheckGeometry_management (["contours", "roads", "vegetation"], "CheckGeom_Result")
Exemple 2 d'utilisation de l'outil CheckGeometry (script autonome)
Le script autonome suivant utilise la fonction CheckGeometry en faisant une boucle sur toutes les classes d'entités dans une géodatabase.
# BatchCheckGeometry.py
# Description:
# Loops through all the feature classes in a geodatabase, and generates
# a report of the problems encountered with feature geometry.
# Import modules
import arcpy
# The workspace in which the feature classes will be checked
arcpy.env.workspace = "C:/data/St_Lucia.gdb"
outTable = "checkGeometryResult"
# A variable that will hold the list of all the feature classes
# inside the geodatabase
fcs = []
# List all feature classes in feature datasets
for fds in arcpy.ListDatasets("featuredataset"):
fcs += arcpy.ListFeatureClasses("*", "", fds)
# List all standalone feature classes
fcs = arcpy.ListFeatureClasses()
print("Running the check geometry tool on {} feature classes".format(len(fcs)))
arcpy.CheckGeometry_management(fcs, outTable)
print("{} geometry problems found, see {} for details.".format(arcpy.GetCount_management(outTable)[0],
outTable))
Environnements
Informations de licence
- ArcGIS Desktop Basic: Oui
- ArcGIS Desktop Standard: Oui
- ArcGIS Desktop Advanced: Oui