Effacer (Analyse)
Récapitulatif
Crée une classe d'entités en superposant les Entités en entrée aux polygones des Entités d'effacement. Seules les parties des entités en entrée situées hors des limites extérieures des entités d'effacement sont copiées vers la classe d'entités en sortie.
Illustration
Utilisation
-
Les géométries des Entités en entrée qui coïncident avec les géométries des Entités d'effacement sont supprimées.
-
Les Entités d'effacement peuvent être ponctuelles, linéaires ou surfaciques tant que l'Entité en entrée correspond à un type d'entité d'ordre égal ou inférieur. Une entité d'effacement surfacique permet d'effacer des polygones, des lignes ou des points des entités en entrée, une entité d'effacement linéaire permet d'effacer des lignes ou des points des entités en entrée et une entité d'effacement ponctuelle permet d'effacer des points des entités en entrée.
-
Les valeurs attributaires des classes d'entités en entrée sont copiées vers la classe d'entités en sortie. Toutefois, si l'entrée représente une ou plusieurs couche(s) créée(s) par l'outil Générer une couche et que l'option Règle de division est activée pour un champ, alors un quotient de la valeur attributaire en entrée est calculé pour la valeur attributaire en sortie. Lorsque l'option Règle de division est activée, chaque fois qu'une entité est fractionnée dans une opération de superposition, les attributs des entités résultantes sont égaux à un quotient de la valeur attributaire de l'entité en entrée. La valeur en sortie dépend du quotient de division de la géométrie d'entité en entrée. Par exemple, si la géométrie en entrée a été divisée en parties égales, la moitié de la valeur attributaire de l'entité en entrée est affectée à la valeur attributaire de chaque nouvelle entité. L'option Règle de division s'applique uniquement aux champs de type numérique.
Attention :Les outils de géotraitement ne respectent pas les règles de fractionnement de champ des classes d'entités ou des tables de géodatabase.
-
Cet outil utilise un processus de tuilage pour la gestion des jeux de données très volumineux afin d'améliorer les performances et l'évolutivité. Pour plus de détails, reportez-vous à la rubrique Géotraitement sur jeux de données volumineux.
-
Cet outil peut générer des entités multi-parties dans la sortie même si toutes les entrées étaient des entités en une partie. Le cas échéant, pour éliminer les entités multi-parties, utilisez l'outil Multi-parties vers une partie sur la classe d'entités en sortie.
Syntaxe
Paramètre | Explication | Type de données |
in_features |
Classe ou couche d'entités en entrée. | Feature Layer |
erase_features |
Entités à utiliser pour effacer les entités coïncidentes de l'entrée. | Feature Layer |
out_feature_class |
Classe d'entités contenant uniquement les entités en entrée qui ne coïncident pas avec les entités d'effacement. | Feature Class |
cluster_tolerance (Facultatif) |
La distance minimum séparant toutes les coordonnées d'entité (nœuds et sommets) ainsi que la distance de déplacement possible d'une coordonnée sur X ou Y (ou les deux). | Linear unit |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction Effacer en mode immédiat.
import arcpy
from arcpy import env
env.workspace = "C:/data/data/gdb"
arcpy.Erase_analysis(r'redlands.gdb\rdlswells\well',r'redlands.gdb\rdlsfloodzones\flood',r'redlands.gdb\wellsoutside_flood','#')
Trouver les surfaces de végétation convenable en excluant les surfaces fortement affectées par les routes principales.
# Name: Erase.py
# Description: Find areas of suitable vegetation which exclude areas heavily impacted by major roads
# Author: ESRI
# import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data/Habitat_Analysis.gdb"
# Select suitable vegetation patches from all vegetation
veg = "vegtype"
suitableVeg = "C:/output/Output.gdb/suitable_vegetation"
whereClause = "HABITAT = 1"
arcpy.Select_analysis(veg, suitableVeg, whereClause)
# Buffer areas of impact around major roads
roads = "majorrds"
roadsBuffer = "C:/output/Output.gdb/buffer_output"
distanceField = "Distance"
dissolveField = "Distance"
arcpy.Buffer_analysis(roads, roadsBuffer, distanceField, "FULL", "ROUND", "LIST", dissolveField)
# Erase areas of impact around major roads from the suitable vegetation patches
eraseOutput = "C:/output/Output.gdb/suitable_vegetation_minus_roads"
xyTol = "1 Meters"
arcpy.Erase_analysis(suitableVeg, roadsBuffer, eraseOutput, xyTol)