Générer une vue tabulaire (Gestion des données)

Résumé

Crée une vue tabulaire à partir d'une table ou d'une classe d'entités en entrée. La vue tabulaire créée par l'outil est temporaire et disparaît à la fin de la session si le document n'est pas enregistré.

Utilisation

  • Cet outil est communément utilisé pour créer une vue tabulaire avec un ensemble d'attributs ou de champs sélectionnés.

  • Si une expression SQL est utilisée mais ne renvoie aucun résultat, la sortie est vide.

  • Les noms de champ définis dans le contrôle Field Info (Informations de champ) sont respectés dans les autres outils utilisés par la suite. Toutefois, si cet outil est le dernier outil d’un modèle, les noms de champ sont récupérés des données sources sur disque. Pour que les noms de champ soient conservés, la nouvelle couche doit être transcrite dans une nouvelle donnée à l’aide des outils Copier des enregistrements ou Copier des entités.

  • Un espace de travail en entrée doit être indiqué pour la validation des noms de champ. Par conséquent, dans le cas où l’entrée est une classe d’entités de géodatabase et l’espace de travail en sortie est un dossier, les noms de champ sont susceptibles d’être tronqués du fait que les noms d’attribut de shapefile sont limités à dix caractères.

  • Il est possible de rendre un sous-ensemble de champs indisponible dans la nouvelle couche avec la propriété de visibilité du contrôle Field Info (Informations de champ). La deuxième colonne du contrôle comporte une case à cocher qui permet d’indiquer si un champ doit être visible ou masqué dans la nouvelle couche. Cette case est cochée par défaut. Décochez-la pour masquer le champ. Vous ne pouvez pas utiliser les champs masqués dans un processus si la nouvelle couche sert ultérieurement d’entrée à un processus ou à un outil. Si la sortie est enregistrée sur disque, seuls les champs indiqués comme visibles apparaissent dans les nouvelles données.

  • L'option de la règle de division sur la commande Field Info (Information fichier) ne concerne pas cet outil.

Syntaxe

arcpy.management.MakeTableView(in_table, out_view, {where_clause}, {workspace}, {field_info})
ParamètreExplicationType de données
in_table

Table ou classe d'entités en entrée.

Table View;Raster Layer
out_view

Nom de la vue tabulaire à créer.

Table View ;Raster Layer
where_clause
(Facultatif)

Expression SQL permettant de sélectionner un sous-ensemble d'entités. Pour en savoir plus sur la syntaxe SQL reportez-vous à la rubrique d’aide Référence SQL pour les expressions de requête utilisées dans ArcGIS.

SQL Expression
workspace
(Facultatif)

Espace de travail en entrée utilisé pour valider les noms de champ. Dans le cas où l’entrée est une table de géodatabase et l’espace de travail en sortie est une table dBASE, les noms de champ sont susceptibles d’être tronqués du fait que les noms de champ dBASE sont limités à dix caractères.

Workspace
field_info
(Facultatif)

Indique les champs de la table en entrée à afficher dans la vue tabulaire en sortie.

Field Info

Exemple de code

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

Le script de fenêtre Python suivant illustre l'utilisation de l'outil MakeTableView en mode immédiat.

import arcpy

arcpy.MakeTableView_management("C:/data/input/crimefrequency.dbf", "crimefreq_tview")
Exemple 2 d'utilisation de l'outil MakeTableView (script autonome)

Le script autonome suivant montre comment utiliser l'outil MakeTableView avec un objet FieldInfo pour filtrer des champs dans la sortie.

# Name: MakeTableView_Example2.py
# Description: Uses a FieldInfo object to select a subset of fields and renaming one field's name.

# Import system modules
import arcpy

# Set data path
intable = "C:/data/tables.gdb/crimefreq"

# Get the fields from the input
fields= arcpy.ListFields(intable)

# Create a fieldinfo object
fieldinfo = arcpy.FieldInfo()

# Iterate through the fields and set them to fieldinfo
for field in fields:
    if field.name == "FREQUENCY":
        fieldinfo.addField(field.name, "NEWFREQ", "VISIBLE", "")
    elif field.name == "CRIME_CAT":
        fieldinfo.addField(field.name, field.name, "HIDDEN", "")
    elif field.name == "BEAT":
        fieldinfo.addField(field.name, field.name, "VISIBLE", "")

# The created crime_view layer will have fields as set in fieldinfo object
arcpy.MakeTableView_management(intable, "crime_view", "", "", fieldinfo)

# To persist the layer on disk make a copy of the view
arcpy.CopyRows_management("crime_view", "C:/temp/newfreq.dbf")

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes