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, il s'arrête dès qu'il rencontre une première erreur de comparaison. Pour signaler toutes les différences, activez le paramètre Continuer la comparaison.

  • L’outil Comparaison de tables permet de signaler les différences et les similitudes présentes sur le plan des valeurs tabulaires et des définitions de champs.

  • Vous pouvez spécifier plusieurs champs de tri. La Table de base en entrée et la Table test en entrée sont triées toutes les deux selon les champs que vous spécifiez. Le premier champ est trié, puis le second, 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 type de comparaison est défini sur Tout. Cela signifie toutes les propriétés des tables qui sont comparées seront activées, y compris les propriétés du champ et les attributs. Toutefois, vous pouvez choisir un type de comparaison différent pour activer uniquement des propriétés spécifiques des tables comparées.

  • L'option Ignorer les options permet d'omettre certaines propriétés dans 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.

  • Le Fichier de comparaison en sortie contiendra toutes les similitudes et toutes les différences trouvées entre la Table de base en entrée et la 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, cette table peut être interrogée pour obtenir toutes les valeurs ObjectID de toutes les lignes qui sont différentes.

  • Dans Python, vous pouvez obtenir le statut de cet outil à l'aide de la commande result.getOutput(1). La valeur est 'true' si aucune différence n'est trouvée et 'false' dans le cas contraire.

    Pour en savoir plus sur l'utilisation des outils dans Python

Paramètres

ÉtiquetteExplicationType de données
Table de base en entrée

La Table de base en entrée est comparée à la Table test en entrée. La Table de base en entrée est celle qui contient vos données tabulaires déclarées valides. Les définitions de champs et les valeurs d'attributs de la table de base sont correctes.

Table View; Raster Layer
Table test en entrée

La Table test en entrée est comparée à la Table de base en entrée. La Table test en entrée contient vos données modifiées par l'ajout de nouveaux champs, de nouveaux enregistrements ou de nouvelles valeurs attributaires.

Table View ; Raster Layer
Champ de tri

Le ou les champs utilisés pour trier les enregistrements de la Table de base en entrée et de la Table test en entrée. Les enregistrements sont triés dans l'ordre croissant. Le fait de spécifier un champ de tri commun à la Table de base en entrée et à la Table test en entrée vous garantit de comparer la même ligne de chaque jeu de données en entrée.

Value Table
Type de comparaison
(Facultatif)

Le type de comparaison. ALL est le format par défaut. Cette option par défaut compare toutes les propriétés des tables concernées.

  • ToutCompare toutes les propriétés. Il s’agit de l’option par défaut.
  • Attributs uniquementCompare uniquement les attributs et leurs valeurs.
  • Structure uniquementCompare uniquement la structure.
String
Ignorer les options
(Facultatif)

Ces propriétés ne seront pas comparées.

  • Ignorer les propriétés d'extensionNe pas comparer les propriétés d'extension.
  • Ignorer les sous-typesNe pas comparer les sous-types.
  • Ignorer les classes de relationsNe pas comparer les classes de relations.
  • Ignorer l'alias de champNe pas comparer les alias de champ.
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 s'il faut comparer toutes les propriétés dès lors qu'une première erreur de correspondance est rencontrée.

  • Désactivé - Arrête la comparaison dès lors qu'une première non-concordance est rencontrée. Il s’agit de l’option par défaut.
  • Activé - Poursuit la comparaison des autres propriétés dès lors qu'une première non-concordance est rencontrée.

Boolean
Fichier de comparaison en sortie
(Facultatif)

Ce fichier contiendra toutes les similitudes et différences entre la tble de base en entrée et la 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.

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 détecté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

La Table de base en entrée est comparée à la Table test en entrée. La Table de base en entrée est celle qui contient vos données tabulaires déclarées valides. Les définitions de champs et les valeurs d'attributs de la table de base sont correctes.

Table View; Raster Layer
in_test_table

La Table test en entrée est comparée à la Table de base en entrée. La Table test en entrée contient vos données modifiées par l'ajout de nouveaux champs, de nouveaux enregistrements ou de nouvelles valeurs attributaires.

Table View ; Raster Layer
sort_field
[sort_field,...]

Le ou les champs utilisés pour trier les enregistrements de la Table de base en entrée et de la Table test en entrée. Les enregistrements sont triés dans l'ordre croissant. Le fait de spécifier un champ de tri commun à la Table de base en entrée et à la Table test en entrée vous garantit de comparer la même ligne de chaque jeu de données en entrée.

Value Table
compare_type
(Facultatif)

Le type de comparaison. ALL est le format par défaut. Cette option par défaut compare toutes les propriétés des tables concernées.

  • ALLCompare toutes les propriétés. Il s’agit de l’option par défaut.
  • ATTRIBUTES_ONLYCompare uniquement les attributs et leurs valeurs.
  • SCHEMA_ONLYCompare uniquement la structure.
String
ignore_options
[ignore_options,...]
(Facultatif)

Ces propriétés ne seront pas comparées.

  • IGNORE_EXTENSION_PROPERTIESNe pas comparer les propriétés d'extension.
  • IGNORE_SUBTYPESNe pas comparer les sous-types.
  • IGNORE_RELATIONSHIPCLASSESNe pas comparer les classes de relations.
  • IGNORE_FIELDALIASNe pas comparer les alias de champ.
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 s'il faut comparer toutes les propriétés dès lors qu'une première erreur de correspondance est rencontrée.

  • NO_CONTINUE_COMPAREArrête la comparaison dès lors qu'une première non-concordance est rencontrée. Il s’agit de l’option par défaut.
  • CONTINUE_COMPAREPoursuit la comparaison des autres propriétés dès lors qu'une première non-concordance est rencontrée.
Boolean
out_compare_file
(Facultatif)

Ce fichier contient toutes les similitudes et toutes les différences trouvées entre in_base_table et in_test_table. 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 détectée, et sur 'false' dans le cas contraire.

Boolean

Exemple de code

Exemple 1 d'utilisation de l'outil TableCompare (fenêtre Python)

Le script ci-dessous pour la fenêtre Python illustre l'utilisation de 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)

Exemple d’utilisation de l’outil 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