Comparaison d’entités (Gestion des données)

Synthèse

Compare deux couches ou classes d'entités et renvoie les résultats de la comparaison.

Utilisation

  • Cet outil renvoie des messages affichant le résultat de la comparaison. Par défaut, l’outil cesse de s’exécuter dès qu’il détecte la première différence entre les entrées. Pour signaler toutes les différences, activez le paramètre Continuer la comparaison.

  • Si les différences signalées entre les jeux de données en entrée sont liées à l’ajout ou à la suppression d’enregistrements, seule la première différence signalée est valide. Toutes les différences signalées après l’ajout ou la suppression sont dues au fait que la comparaison ne suit pas l’ordre séquentiel. Les outils de comparaison ne tentent pas de trouver l’ensemble d’enregistrements correspondants suivant après la détection d’un enregistrement ajouté ou supprimé.

  • Cet outil peut signaler des différences de définitions de champ, de géométrie, de valeurs tabulaires et de référence spatiale.

  • Vous pouvez spécifier plusieurs champs de tri. Le premier champ est trié, le deuxième champ est trié, et ainsi de suite, dans l’ordre croissant. Le fait de spécifier un champ de tri commun aux deux jeux de données en entrée vous garantit de comparer la même ligne de chaque jeu de données en entrée.

  • Par défaut, le paramètre Type de comparaison est défini sur Tout. Cela signifie que toutes les propriétés des entités faisant l’objet d’une comparaison sont vérifiées, y compris les références spatiales, les propriétés de champ, les attributs et la géométrie. Spécifiez un type de comparaison différent pour comparer des propriétés spécifiques des entités.

  • Le paramètre Ignorer les options permet d’omettre certaines propriétés, telles que les attributs de mesure, les attributs z, les attributs ID de point et les propriétés d’extension. Deux classes d’entités peuvent être identiques, mais l’une d’elles a des mesures et des coordonnées z, l’autre non. L’option Ignorer les propriétés d’extension désigne des informations supplémentaires ajoutées à une table ou une classe d’entités. Par exemple, deux classes d’entités annotations peuvent avoir des entités identiques, mais des propriétés d’extension différentes, par exemple des symboles différents dans la collection de symboles et un comportement de mise à jour différent.

  • La valeur du paramètre Tolérance XY par défaut est déterminée par la tolérance xy par défaut de la valeur du paramètre Entités de base en entrée. Pour minimiser le risque d’erreur, attribuez la plus petite valeur possible à la tolérance de comparaison. Si la valeur 0 est spécifiée, une correspondance exacte est réalisée.

  • Les valeurs de paramètre Tolérance M et Tolérance Z par défaut sont déterminées par les tolérances m et z par défaut de la valeur du paramètre Entités de base en entrée. Les unités sont identiques à celles de la valeur du paramètre Entités de base en entrée. Si la valeur 0 est spécifiée, une correspondance exacte est réalisée.

  • Lorsque vous utilisez l’option Géométrie uniquement pour le paramètre Type de comparaison, les références spatiales doivent correspondre. Si les références spatiales des entrées ne sont pas identiques, une différence est signalée entre les entrées. Si les systèmes de coordonnées des entrées ne sont pas identiques, les entités sont considérées comme différentes. Cet outil ne projette pas d’entités à la volée.

  • Le paramètre Ignorer des champs se compose d’une liste des champs qui sont exclus de la comparaison du nombre de champs. Leurs définitions de champ et leurs valeurs tabulaires sont ignorées.

  • Les tolérances d'attribut peuvent uniquement être spécifiées pour les champs de type numérique.

  • La valeur du paramètre Fichier de comparaison en sortie contiendra toutes les similitudes et toutes les différences trouvées entre les jeux de données en entrée. Il s'agit d'un fichier texte délimité par des virgules qui peut être visualisé et utilisé comme une table dans ArcGIS. Par exemple, la table peut être interrogée pour obtenir toutes les valeurs d’ID d’objet de toutes les lignes qui sont différentes. Le champ has_error indique que l’enregistrement contient une erreur. La valeur True indique une différence.

  • Lorsque vous utilisez cet outil dans Python, vous obtenez le statut de la comparaison à partir de l’objet Result renvoyé à l’aide de la position d’index 1.(result[1]). La valeur est 'true' si aucune différence n’est trouvée et 'false' dans le cas contraire.

    En savoir plus sur l’utilisation des outils dans Python

Paramètres

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

Données qui seront comparées à la valeur du paramètre Entités test en entrée. Cette valeur de paramètre correspond aux données que vous avez déclarées comme valides. Ces données de base comportent le contenu et les informations appropriés.

Feature Layer
Entités test en entrée

Données qui seront comparées à la valeur du paramètre Entités de base en entrée. Cette valeur de paramètre correspond aux données que vous avez modifiées en mettant à jour ou en compilant de nouvelles informations.

Feature Layer
Champ de tri

Champ(s) permettant de trier les enregistrements dans les entrées. Les enregistrements sont triés dans l'ordre croissant. Le fait de spécifier un champ de tri commun aux entrées vous garantit de comparer la même ligne de chaque jeu de données en entrée.

Value Table
Type de comparaison
(Facultatif)

Indique le type de comparaison à utiliser.

  • ToutToutes les propriétés des classes d'entités sont comparées. Il s’agit de l’option par défaut.
  • Géométrie uniquementSeules les géométries des classes d'entités sont comparées.
  • Attributs uniquementSeuls les attributs et leurs valeurs des classes d’entités sont comparés.
  • Structure uniquementSeule la structure des classes d'entités est comparée.
  • Référence spatiale uniquementSeules les références spatiales des deux classes d'entités sont comparées.
String
Ignorer les options
(Facultatif)

Indique les propriétés qui ne seront pas comparées.

  • Ignorer les valeurs MLes propriétés de mesure ne seront pas comparées.
  • Ignorer les valeurs ZLes propriétés d’élévation ne seront pas comparées.
  • Ignorer les ID de pointsLes propriétés d’ID de point ne seront pas comparées.
  • Ignorer les propriétés d'extensionLes propriétés d’extension ne seront pas comparées.
  • Ignorer les sous-typesLes sous-types ne seront pas comparés.
  • Ignorer les classes de relationsLes classes de relations ne seront pas comparées.
  • Ignorer les classes de représentationLes classes de représentation ne seront pas comparées.
  • Ignorer l'alias de champLes alias de champ ne seront pas comparés.
String
Tolérance XY
(Facultatif)

Distance qui déterminera la plage dans laquelle des entités seront considérées comme identiques. Pour minimiser le risque d’erreur, la valeur du paramètre doit être la plus petite possible. Par défaut, la tolérance de comparaison est la tolérance xy des entités de base en entrée.

Linear Unit
Tolérance M
(Facultatif)

Distance minimale entre des mesures avant qu’elles ne soient considérées comme identiques.

Double
Tolérance Z
(Facultatif)

Distance minimale entre des coordonnées z avant qu’elles ne soient considérées comme identiques.

Double
Tolérance d'attribut
(Facultatif)

Valeur numérique déterminant la plage dans laquelle les valeurs attributaires sont considérées comme égales. Ce paramètre s’applique uniquement aux champs numériques.

Value Table
Ignorer des champs
(Facultatif)

Le ou les champs à omettre lors de la comparaison. Les définitions et valeurs tabulaires de ces champs seront ignorées.

String
Continuer la comparaison
(Facultatif)

Indique si la comparaison continue une fois qu’elle a détecté la première différence entre les entrées.

  • Désactivé : l’outil arrête la comparaison dès qu’une première différence est rencontrée. Il s’agit de l’option par défaut.
  • Activé : l’outil poursuit la comparaison après la première différence.

Boolean
Fichier de comparaison en sortie
(Facultatif)

Le fichier en sortie contient toutes les similitudes et toutes les différences trouvées entre les entrées. Il s'agit d'un fichier texte délimité par des virgules qui peut être visualisé et utilisé comme une table dans ArcGIS.

Le fichier en sortie contient toutes les similitudes et toutes les différences trouvées entre les entrées. Il s'agit d'un fichier texte délimité par des virgules qui peut être visualisé et utilisé comme une table dans ArcGIS.

File

Sortie obtenue

ÉtiquetteExplicationType de données
Comparer le statut

Le statut de la comparaison est défini sur 'true' si aucune différence n’est trouvée, et sur 'false' dans le cas contraire.

Boolean

arcpy.management.FeatureCompare(in_base_features, in_test_features, sort_field, {compare_type}, {ignore_options}, {xy_tolerance}, {m_tolerance}, {z_tolerance}, {attribute_tolerances}, {omit_field}, {continue_compare}, {out_compare_file})
NomExplicationType de données
in_base_features

Données qui seront comparées à la valeur du paramètre in_test_features. Cette valeur de paramètre correspond aux données que vous avez déclarées comme valides. Ces données de base comportent le contenu et les informations appropriés.

Feature Layer
in_test_features

Données qui seront comparées à la valeur du paramètre in_base_features. Cette valeur de paramètre correspond aux données que vous avez modifiées en mettant à jour ou en compilant de nouvelles informations.

Feature Layer
sort_field
[sort_field,...]

Champ(s) permettant de trier les enregistrements dans les entrées. Les enregistrements sont triés dans l'ordre croissant. Le fait de spécifier un champ de tri commun aux entrées vous garantit de comparer la même ligne de chaque jeu de données en entrée.

Value Table
compare_type
(Facultatif)

Indique le type de comparaison à utiliser.

  • ALLToutes les propriétés des classes d'entités sont comparées. Il s’agit de l’option par défaut.
  • GEOMETRY_ONLYSeules les géométries des classes d'entités sont comparées.
  • ATTRIBUTES_ONLYSeuls les attributs et leurs valeurs des classes d’entités sont comparés.
  • SCHEMA_ONLYSeule la structure des classes d'entités est comparée.
  • SPATIAL_REFERENCE_ONLYSeules les références spatiales des deux classes d'entités sont comparées.
String
ignore_options
[ignore_options,...]
(Facultatif)

Indique les propriétés qui ne seront pas comparées.

  • IGNORE_MLes propriétés de mesure ne seront pas comparées.
  • IGNORE_ZLes propriétés d’élévation ne seront pas comparées.
  • IGNORE_POINTIDLes propriétés d’ID de point ne seront pas comparées.
  • IGNORE_EXTENSION_PROPERTIESLes propriétés d’extension ne seront pas comparées.
  • IGNORE_SUBTYPESLes sous-types ne seront pas comparés.
  • IGNORE_RELATIONSHIPCLASSESLes classes de relations ne seront pas comparées.
  • IGNORE_REPRESENTATIONCLASSESLes classes de représentation ne seront pas comparées.
  • IGNORE_FIELDALIASLes alias de champ ne seront pas comparés.
String
xy_tolerance
(Facultatif)

Distance qui déterminera la plage dans laquelle des entités seront considérées comme identiques. Pour minimiser le risque d’erreur, la valeur du paramètre doit être la plus petite possible. Par défaut, la tolérance de comparaison est la tolérance xy des entités de base en entrée.

Linear Unit
m_tolerance
(Facultatif)

Distance minimale entre des mesures avant qu’elles ne soient considérées comme identiques.

Double
z_tolerance
(Facultatif)

Distance minimale entre des coordonnées z avant qu’elles ne soient considérées comme identiques.

Double
attribute_tolerances
[[Field, {Tolerance}],...]
(Facultatif)

Valeur numérique déterminant la plage dans laquelle les valeurs attributaires sont considérées comme égales. Ce paramètre s’applique uniquement aux champs numériques.

Value Table
omit_field
[omit_field,...]
(Facultatif)

Le ou les champs à omettre lors de la comparaison. Les définitions et valeurs tabulaires de ces champs seront ignorées.

String
continue_compare
(Facultatif)

Indique si la comparaison continue une fois qu’elle a détecté la première différence entre les entrées.

  • NO_CONTINUE_COMPAREL’outil arrête la comparaison dès qu’une première différence est rencontrée. Il s’agit de l’option par défaut.
  • CONTINUE_COMPAREL’outil poursuit la comparaison après la première différence.
Boolean
out_compare_file
(Facultatif)

Le fichier en sortie contient toutes les similitudes et toutes les différences trouvées entre les entrées. Il s'agit d'un fichier texte délimité par des virgules qui peut être visualisé et utilisé comme une table dans ArcGIS.

File

Sortie obtenue

NomExplicationType de données
compare_status

Le statut de la comparaison est défini sur 'true' si aucune différence n’est trouvée, et sur 'false' dans le cas contraire.

Boolean

Exemple de code

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

Le script ci-dessous pour la fenêtre Python montre comment utiliser la fonction FeatureCompare en mode immédiat.

import arcpy
arcpy.management.FeatureCompare(
    'C:/Workspace/baseroads.shp', 'C:/Workspace/newroads.shp', 'ROAD_ID', 
    'ALL', ['IGNORE_M', 'IGNORE_Z'], '0.001 METERS', 0, 0,
    [['Shape_Length', 0.001]], '#', 'CONTINUE_COMPARE',
    'C:/Workspace/roadcompare.txt')
Exemple 2 d'utilisation de l'outil FeatureCompare (script autonome)

L’exemple suivant illustre l’utilisation de la fonction FeatureCompare dans un script autonome.

# Name: FeatureCompare.py
# Description: Compare two feature classes and return comparison result.

# Import system modules 
import arcpy

# Set local variables
base_features = "C:/Workspace/baseroads.shp"
test_features = "C:/Workspace/newroads.shp"
sort_field = "ROAD_ID"
compare_type = "ALL"
ignore_option = ["IGNORE_M", "IGNORE_Z"]
xy_tolerance = "0.001 METERS"
m_tolerance = 0
z_tolerance = 0
attribute_tolerance = [["Shape_Length", 0.001]]
omit_field = "#"
continue_compare = "CONTINUE_COMPARE"
compare_file = "C:/Workspace/roadcompare.txt"
 
# Process: FeatureCompare
compare_result = arcpy.management.FeatureCompare(
    base_features, test_features, sort_field, compare_type, ignore_option, 
    xy_tolerance, m_tolerance, z_tolerance, attribute_tolerance, omit_field, 
    continue_compare, compare_file)

print(compare_result[1])
print(arcpy.GetMessages())

Environnements

Cet outil n’utilise pas d’environnement de géotraitement.

Rubriques connexes