Comparaison de tables (Gestion des données)

Synthèse

Compare deux tables ou vues tabulaires 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 les différences et similitudes présentes sur le plan des valeurs tabulaires et des définitions de champs.

  • Vous pouvez spécifier plusieurs champs de tri. Les valeurs de paramètre Table de base en entrée et Table test en entrée sont toutes les deux triées selon les champs que vous spécifiez. 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 à la table de base et à la table test 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 toutes les propriétés des tables qui sont comparées seront vérifiées, y compris les propriétés du champ et les attributs. Spécifiez un type de comparaison différent pour comparer des propriétés spécifiques.

  • Le paramètre Ignorer les options permet d’omettre certaines propriétés de la comparaison. Ces propriétés comprennent les propriétés d'extension, les sous-types et les classes de relations.

  • Lorsque vous omettez des champs qui ne sont pas inclus dans la comparaison du nombre de champs, les définitions de champ et les valeurs tabulaires de ces champs 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 valeurs de paramètre Table de base en entrée et Table test 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.

  • 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
Table de base en entrée

Données qui seront comparées à la valeur du paramètre Table 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.

Table View; Raster Layer
Table test en entrée

Données qui seront comparées à la valeur du paramètre Table 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.

Table View ; Raster 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 seront comparées. Il s’agit de l’option par défaut.
  • Attributs uniquementSeuls les attributs et leurs valeurs sont comparés.
  • Structure uniquementSeule la structure sera comparée.
String
Ignorer les options
(Facultatif)

Indique les propriétés de table qui 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 l'alias de champLes alias de champ ne seront pas comparés.
String
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.TableCompare(in_base_table, in_test_table, sort_field, {compare_type}, {ignore_options}, {attribute_tolerances}, {omit_field}, {continue_compare}, {out_compare_file})
NomExplicationType de données
in_base_table

Données qui seront comparées à la valeur du paramètre in_test_table. 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.

Table View; Raster Layer
in_test_table

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

Table View ; Raster 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 seront comparées. Il s’agit de l’option par défaut.
  • ATTRIBUTES_ONLYSeuls les attributs et leurs valeurs sont comparés.
  • SCHEMA_ONLYSeule la structure sera comparée.
String
ignore_options
[ignore_options,...]
(Facultatif)

Indique les propriétés de table qui 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_FIELDALIASLes alias de champ ne seront pas comparés.
String
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 TableCompare (fenêtre Python)

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

import arcpy
arcpy.management.TableCompare(
    r'c:\Workspace\wells.dbf', r'c:\Workspace\wells_new.dbf', 'WELL_ID', 
    'ALL', 'IGNORE_EXTENSION_PROPERTIES', 'WELL_DEPTH 0.001', '#', 
    'CONTINUE_COMPARE', r'C:\Workspace\well_compare.txt')
Exemple 2 d'utilisation de l'outil TableCompare (script autonome)

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

# Name: TableCompare.py
# Description: Compare two dBASE tables and return comparison result.

# Import system modules 
import arcpy

# Set local variables
base_table= "C:/Workspace/wells.dbf"
test_table = "C:/Workspace/wells_new.dbf"
sort_field = "WELL_ID"
compare_type = "ALL"
ignore_option = "IGNORE_EXTENSION_PROPERTIES"
attribute_tolerance = "WELL_DEPTH 0.001"
omit_field = "#"
continue_compare = "CONTINUE_COMPARE"
compare_file = "C:/Workspace/well_compare.txt"

# Process: FeatureCompare
compare_result = arcpy.management.TableCompare(
    base_table, test_table, sort_field, compare_type, ignore_option, 
    attribute_tolerance, omit_field, continue_compare, compare_file)

Rubriques connexes