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ètre | Explication | Type 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
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")
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")
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?