ArcGIS for Desktop

  • Documentation
  • Tarification
  • Support

  • My Profile
  • Aide
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

La plateforme cartographique de votre organisation

ArcGIS for Desktop

Un SIG professionnel complet

ArcGIS for Server

SIG dans votre entreprise

ArcGIS for Developers

Outils de création d'applications de localisation

ArcGIS Solutions

Modèles d'applications et de cartes gratuits pour votre secteur d'activité

ArcGIS Marketplace

Téléchargez des applications et des données pour votre organisation.

  • Documentation
  • Tarification
  • Support
Esri
  • Se connecter
user
  • Mon profil
  • Déconnexion

Aide

  • Accueil
  • Commencer
  • Carte
  • Analyser
  • Gérer les données
  • Outils
  • Plus...

Réparer les géométries

  • Récapitulatif
  • Utilisation
  • Syntaxe
  • Exemple de code
  • Environnements
  • Informations de licence

Récapitulatif

Examine chaque entités d'une classe d'entités à la recherche de problèmes de géométrie. Si un problème de géométrie est découvert, une solution pertinente est appliquée et une description d'une ligne est imprimée, identifiant l'entité ainsi que le problème rencontré.

Les entrées valides sont des fichiers de formes et des classes d'entités de géodatabase fichier et personnelle.

En savoir plus sur la vérification et la réparation des géométries

Utilisation

    Attention :

    Cet outil modifie les données en entrée. Reportez-vous à la rubrique Outils sans sortie pour obtenir plus d'informations, ainsi que des stratégies pour éviter les mouvements de données indésirables.

  • Cet outil utilise la même logique que l'outil Vérifier les géométries pour évaluer les problèmes de la géométrie de l'entité.

  • Vous trouverez ci-dessous la liste des problèmes de géométrie et la solution correspondante qui sera appliquée par l'outil :

    • Null geometry : l'enregistrement sera supprimé de la classe d'entités. Pour conserver des enregistrements avec une géométrie nulle, désactivez l'option Supprimer les entités de géométrie nulle (utilisez l'option KEEP_NULL du paramètre delete_null dans Python).
    • Short segment : le segment court de la géométrie sera supprimé.
    • Incorrect ring ordering : la géométrie est mise à jour de façon que l'organisation des boucles soit correcte.
    • Incorrect segment orientation : la géométrie est mise à jour de façon que l'orientation des segments soit correcte.
    • Self intersections : les surfaces de superposition dans un polygone seront fusionnées.
    • Unclosed rings : les boucles non fermées seront fermées en connectant les extrémités de la boucle.
    • Empty parts : les parties qui sont nulles ou vides seront supprimées.
    • Duplicate vertex : un des sommets sera supprimé.
    • Mismatched attributes : la coordonnée Z ou M sera mise à jour pour appariement.
    • Discontinuous parts : plusieurs parties seront créées à partir de la partie discontinue existante.
    • Empty Z values : la valeur Z sera définie sur 0.
    • Bad envelope : l'enveloppe de l'entité est mise à jour pour être correcte.
  • Après avoir appliqué un des correctifs répertoriés ci-dessus, l'outil réévalue la géométrie qui en résulte et si un autre problème est découvert, la solution pertinente est appliquée. Par exemple, la correction d'une géométrie avec le problème Incorrect ring ordering peut produire une géométrie présentant le problème Null geometry.

  • L'outil Réparer les géométries ne propose aucun correctif pour le problème bad dataset extent. Pour résoudre ce problème, exécutez l'outil Ajouter un index spatial sur le jeu de données.

  • Les géodatabases SDE vérifient automatiquement et répare les géométries d'entité lorsque les entités sont téléchargées dans la base de données ; par conséquent, l'utilisation des outils Vérifier les géométries et Réparer les géométries avec les classes d'entités SDE est inutile.

Syntaxe

RepairGeometry_management (in_features, {delete_null})
ParamètreExplicationType de données
in_features

Classe ou couche d'entités à réparer. Les entités en entrée valides sont des fichiers de formes et des classes d'entités de géodatabase fichier et personnelle.

Feature Layer
delete_null
(Facultatif)

Spécifie quelle action entreprendre sur des géométries nulles.

  • DELETE_NULL — Les entités qui ont une géométrie NULL seront supprimées de l'entrée. Il s'agit de l'option par défaut.
  • KEEP_NULL — Les entités qui ont une géométrie NULL ne seront pas supprimées de l'entrée.
Boolean

Exemple de code

Exemple 1 d'utilisation de l'outil RepairGeometry (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction RepairGeometry en mode immédiat.

import arcpy
arcpy.RepairGeometry_management ("c:/data/sketchy.shp")
Exemple 2 d'utilisation de l'outil RepairGeometry (script autonome)

Le script autonome ci-dessous est un exemple d'application de la fonction RepairGeometry pour l'écriture de scripts.

# Description: 
#   Goes through the table generated by the Check Geometry tool and does 
#   the following
#   1) backs-up all features which will be 'fixed' to a "_bad_geom" feature class
#   2) runs repairGeometry on all feature classes listed in the table 

import arcpy
import os
 
# Table that was produced by Check Geometry tool
table = r"c:\temp\data.gdb\cg_sample1"
 
# Create local variables
fcs = []
 
# Loop through the table and get the list of fcs
for row in arcpy.da.SearchCursor(table, ("CLASS")):
    # Get the class (feature class) from the cursor
    if not row[0] in fcs:
        fcs.append(row[0])
 
# Now loop through the fcs list, backup the bad geometries into fc + "_bad_geom"
# then repair the fc
print("> Processing {0} feature classes".format(len(fcs)))
for fc in fcs:
    print("Processing " + fc)
    lyr = 'temporary_layer'
    if arcpy.Exists(lyr):
        arcpy.Delete_management(lyr)
    
    tv = "cg_table_view"
    if arcpy.Exists(tv):
        arcpy.Delete_management(tv)

    arcpy.MakeTableView_management(table, tv, ("\"CLASS\" = '%s'" % fc))
    arcpy.MakeFeatureLayer_management(fc, lyr)
    arcpy.AddJoin_management(lyr, arcpy.Describe(lyr).OIDFieldName, tv, "FEATURE_ID")
    arcpy.CopyFeatures_management(lyr, fc + "_bad_geom")
    arcpy.RemoveJoin_management(lyr, os.path.basename(table))
    arcpy.RepairGeometry_management(lyr)

Environnements

  • Espace de travail courant
  • Etendue

Informations de licence

  • ArcGIS for Desktop Basic: Oui
  • ArcGIS for Desktop Standard: Oui
  • ArcGIS for Desktop Advanced: Oui

Thèmes connexes

  • Vue d'ensemble du jeu d'outils Entités
  • Vérification et réparation des géométries
Vous avez un commentaire à formuler concernant cette rubrique ?

ArcGIS for Desktop

  • Accueil
  • Documentation
  • Tarification
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

A propos d'Esri

  • A propos de la société
  • Carrières
  • Blog des initiés
  • Conférence des utilisateurs
  • Sommet des développeurs
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Confidentialité | Légal