Résumé
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 (ALL dans Python). 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
Syntaxe
arcpy.management.TableCompare(in_base_table, in_test_table, sort_field, {compare_type}, {ignore_options}, {attribute_tolerances}, {omit_field}, {continue_compare}, {out_compare_file})
Paramètre | Explication | Type 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.
| String |
ignore_options [ignore_options,...] (Facultatif) | Ces propriétés ne seront pas comparées.
| 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.
| Boolean |
out_compare_file (Facultatif) | Ce fichier contiendra toutes les similitudes et toutes les différences trouvées entre les in_base_table et les 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 dérivée
Nom | Explication | Type 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. | Booléen |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction TableCompare en mode immédiat.
import arcpy
arcpy.TableCompare_management(
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 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.TableCompare_management(
base_table, test_table, sort_field, compare_type, ignore_option,
attribute_tolerance, omit_field, continue_compare, compare_file)
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?