Eliminer (Gestion des données)
Récapitulatif
Elimine des polygones en les fusionnant avec des polygones voisins qui occupent la plus grande surface ou possèdent la plus longue bordure partagée. L'outil Eliminer permet souvent de supprimer de petits micropolygones qui résultent d'opérations de superposition (Intersecter ou Agréger, par exemple).
Illustration
Utilisation
-
Les entités à éliminer sont déterminées par un jeu d'entités sélectionné appliqué à une couche de polygones. Vous devez sélectionner préalablement le jeu en question en passant par Sélectionner une couche par attribut ou Sélectionner une couche par emplacement ou encore en interrogeant une couche dans ArcMap.
-
La Couche en entrée doit comporter une sélection ; sinon, l'outil Eliminer ne s'exécutera pas.
-
L'Expression d'exclusion et la Couche d'exclusion ne sont pas mutuellement exclusives et peuvent être utilisés conjointement de manière à contrôler intégralement les éléments à éliminer.
Syntaxe
Paramètre | Explication | Type de données |
in_features |
La couche dont les polygones seront combinés avec les polygones voisins. | Feature Layer |
out_feature_class |
Classe d'entités à créer. | Feature Class |
selection (Facultatif) |
Ces options spécifient la méthode qui sera utilisée pour l'élimination des entités.
| Boolean |
ex_where_clause (Facultatif) | Expression utilisée pour identifier les entités en entrée ne devant pas être éliminées. La syntaxe de l'expression diffère légèrement en fonction de la source des données. Par exemple, lorsque vous interrogez des géodatabases fichier ou ArcSDE, des fichiers de formes ou des couvertures, placez le nom des champs entre guillemets doubles : "MY_FIELD" Si vous interrogez des géodatabases personnelles, placez les champs entre crochets : [MON_CHAMP] Dans Python, les chaînes se trouvent entre guillemets simples ou doubles. Pour créer une chaîne contenant des guillemets (comme c'est souvent le cas pour les clauses WHERE dans les expressions SQL), vous pouvez désactiver les guillemets (à l'aide d'une barre oblique inverse) ou placer la chaîne entre guillemets triples. Par exemple, si la clause WHERE souhaitée est "CITY_NAME" = 'Chicago' vous pouvez mettre la chaîne entière entre guillemets doubles, puis désactiver les guillemets doubles intérieurs de la manière suivante : " \"CITY_NAME\" = 'Chicago' " Ou vous pouvez mettre la chaîne entière entre guillemets triples sans désactiver les guillemets : """ "CITY_NAME" = 'Chicago' """ Pour en savoir plus sur la syntaxe SQL et sur ses différences selon les sources de données, reportez-vous à la rubrique d'aide Référence SQL pour les expressions de requête utilisées dans ArcGIS. | SQL Expression |
ex_features (Facultatif) |
Couche ou classe d'entités polylinéaires ou surfaciques en entrée qui définit les limites des polygones, ou des portions de ceux-ci, ne devant pas être éliminées. | Feature Layer |
Exemple de code
Le script de fenêtre Python suivant illustre l'utilisation de l'outil Eliminer en mode immédiat.
import arcpy from arcpy import env env.workspace = "C:/data/Portland.gdb/Census" arcpy.MakeFeatureLayer_management("blockgrp", "blocklayer") arcpy.SelectLayerByAttribute_management("blocklayer", "NEW_SELECTION", '"Area_Sq_Miles" < 0.15') arcpy.Eliminate_management("blocklayer", "C:/output/output.gdb/eliminate_output", "LENGTH", '"OBJECTID" = 9')
Le script autonome suivant illustre l'utilisation de l'outil Eliminer.
# Name: Eliminate_Example2.py # Description: Eliminate features based on a selection. # Author: ESRI # Import system modules import arcpy from arcpy import env # Set environment settings env.workspace = "C:/data/Portland.gdb/Census" # Set local variables inFeatures = "blockgrp" tempLayer = "blocklayer" expression = '"Area_Sq_Miles" < 0.15' outFeatureClass = "C:/output/output.gdb/eliminate_output" exclusionExpression = '"OBJECTID" = 9' # Execute MakeFeatureLayer arcpy.MakeFeatureLayer_management(inFeatures, tempLayer) # Execute SelectLayerByAttribute to define features to be eliminated arcpy.SelectLayerByAttribute_management(tempLayer, "NEW_SELECTION", expression) # Execute Eliminate arcpy.Eliminate_management(tempLayer, outFeatureClass, "LENGTH", exclusionExpression)