Différence symétrique (Analyse)

Disponible avec une licence Advanced.

Synthèse

Calcule l’intersection géométrique des entités en entrée et de mise à jour et renvoie les entités en entrée et de mise à jour qui ne se superposent pas. Les entités ou les portions des entités en entrée et de mise à jour qui ne se superposent pas sont enregistrées dans la classe d’entités en sortie.

Illustration

Illustration de l’outil Différence symétrique

Utilisation

  • La classe d’entités ou la couche d’entités en entrée et de mise à jour doivent posséder le même type de géométrie.

  • 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 Make Feature Layer (Générer une couche d’entités) et que l’option Use Ratio Policy (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.

  • Afin d’améliorer les performances et l’évolutivité, cet outil utilise un processus de tuilage pour la gestion des jeux de données très volumineux. Pour plus de détails, reportez-vous à la rubrique Traitement tuilé de 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 sont des entités en une partie. Si vous ne voulez pas d’entités multi-parties, utilisez l’outil Multi-parties vers une partie sur la classe d'entités en sortie.

Paramètres

ÉtiquetteExplicationType de données
Entités en entrée

Classe ou couche d’entités en entrée.

Feature Layer
Entités de mise à jour

Classe ou couche d’entités de mise à jour. Le type de géométrie doit être identique à celui de la classe ou couche d’entités en entrée.

Feature Layer
Classe d’entités en sortie

Classe d’entités dans laquelle les résultats sont enregistrés.

Feature Class
Attributs à joindre
(Facultatif)

Spécifie les attributs qui seront transférés vers la classe d’entités en sortie.

  • Tous les attributsTous les attributs provenant des entités en entrée sont transférés vers la classe d'entités en sortie. Il s’agit de l’option par défaut.
  • Tous les attributs à l'exception des identifiants d'entitésTous les attributs issus des entités en entrée à l'exception du champ FID sont transférés dans la classe d'entités en sortie.
  • Identifiants d'entités uniquementSeul le champ FID des entités en entrée est transféré vers la classe d'entités en sortie.
String
Tolérance XY
(Facultatif)

Distance minimale séparant toutes les coordonnées d’entités (nœuds et sommets), ainsi que la distance de déplacement possible d’une coordonnée sur l’axe X ou Y (ou les deux).

Attention :

Modifier la valeur de ce paramètre peut provoquer des erreurs ou des résultats inattendus. Il est recommandé de ne pas modifier ce paramètre. Ce paramètre n’est plus affiché dans la boîte de dialogue de l’outil. Par défaut, la propriété Tolérance x,y de la référence spatiale de la classe d’entités en entrée est utilisée.

Linear Unit

arcpy.analysis.SymDiff(in_features, update_features, out_feature_class, {join_attributes}, {cluster_tolerance})
NomExplicationType de données
in_features

Classe ou couche d’entités en entrée.

Feature Layer
update_features

Classe ou couche d’entités de mise à jour. Le type de géométrie doit être identique à celui de la classe ou couche d’entités en entrée.

Feature Layer
out_feature_class

Classe d’entités dans laquelle les résultats sont enregistrés.

Feature Class
join_attributes
(Facultatif)

Spécifie les attributs qui seront transférés vers la classe d’entités en sortie.

  • ALLTous les attributs provenant des entités en entrée sont transférés vers la classe d'entités en sortie. Il s’agit de l’option par défaut.
  • NO_FIDTous les attributs issus des entités en entrée à l'exception du champ FID sont transférés dans la classe d'entités en sortie.
  • ONLY_FIDSeul le champ FID des entités en entrée est transféré vers la classe d'entités en sortie.
String
cluster_tolerance
(Facultatif)

Distance minimale séparant toutes les coordonnées d’entités (nœuds et sommets), ainsi que la distance de déplacement possible d’une coordonnée sur l’axe X ou Y (ou les deux).

Attention :

Modifier la valeur de ce paramètre peut provoquer des erreurs ou des résultats inattendus. Il est recommandé de ne pas modifier ce paramètre. Ce paramètre n’est plus affiché dans la boîte de dialogue de l’outil. Par défaut, la propriété Tolérance x,y de la référence spatiale de la classe d’entités en entrée est utilisée.

Linear Unit

Exemple de code

Exemple d’utilisation de la fonction SymDiff (fenêtre Python)

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

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.analysis.SymDiff("climate.shp", "elevlt250.shp", "C:/output/symdiff.shp", 
                       "ALL", 0.001)
Exemple 2 d’utilisation de la fonction SymDiff (script autonome)

Le script autonome ci-dessous illustre l’utilisation de la fonction SymDiff.


# Name: SymDiff_Example2.py
# Description: Create symmetrical difference between input and update features
 
# Import system modules
import arcpy
 
# Set environment settings
arcpy.env.workspace = "C:/data"
 
# Set local variables
inFeatures = "climate.shp"
updateFeatures = "elevlt250.shp"
outFeatureClass = "C:/output/symdiff.shp"
clusterTolerance = 0.001
 
# Run SymDiff
arcpy.analysis.SymDiff(inFeatures, updateFeatures, outFeatureClass, "ALL",
                       clusterTolerance)

Environnements

Cas particuliers

Facteur de traitement parallèle

Cet outil respecte l'environnement Facteur de traitement parallèle. Si l’environnement n’est pas défini (comportement par défaut) ou s’il est défini sur 0, le traitement parallèle est désactivé ; le traitement parallèle n’est pas utilisé et le traitement est effectué séquentiellement. Le fait de définir l’environnement sur 100 permet un traitement parallèle ; le traitement parallèle est utilisé et le traitement est effectué en parallèle. Jusqu’à 10 cœurs seront utilisés lorsque le traitement parallèle sera activé.