Générer une vue tabulaire (Gestion des données)
Récapitulatif
Crée une vue tabulaire à partir d'une classe d'entités ou d'une table 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.
-
ArcCatalog n'affiche pas ces vues tabulaires, mais elles peuvent être utilisées en entrée d'autres outils de géotraitement dans la session ArcGIS courante. Une fois que l'utilisateur quitte l'application ArcGIS, les vues tabulaires sont supprimées.
-
Les vues tabulaires créées dans ArcCatalog ne peuvent pas être utilisées dans ArcMap.
Si une expression SQL est utilisée mais ne retourne rien, la sortie correspondante est vide.
Un nouveau nom peut être donné aux noms de champ à l'aide du contrôle Informations de champ. La deuxième colonne sur le contrôle répertorie les noms de champ existants de l'entrée. Pour renommer un champ, cliquez sur son nom et saisissez un nouveau nom.
Les nouveaux noms de champ définis dans le contrôle Informations de champ seront respectés dans les outils suivants. Toutefois, si cet outil est le dernier outil dans un modèle, les noms de champ seront obtenus à partir des données source sur le disque. Pour conserver les nouveaux noms de champ, la nouvelle couche doit être écrite dans de nouvelles données à l'aide des outils Copier des enregistrements ou Copier des entités.
Les noms de champ sont validés en spécifiant un espace de travail en entrée. Ainsi, si les données en entrée correspondent à une classe d'entités de géodatabase et que l'espace de travail en sortie est un dossier, les noms des champs peuvent être tronqués, car les noms des attributs des fichiers de formes ne peuvent pas comporter plus de dix caractères. Les nouveaux noms peuvent être révisés et modifiés à l'aide du contrôle Informations de champ.
Un sous-ensemble de champs peut devenir indisponible dans la nouvelle couche à l'aide de la propriété visible du contrôle Informations de champ. La troisième colonne dans le contrôle fournit une option déroulante pour spécifier si un champ sera visible ou masqué dans la nouvelle couche. La valeur par défaut est TRUE. La sélection de FALSE masquera ce champ. Vous ne pouvez pas utiliser les champs masqués dans un workflow si la couche récemment créée est entrée pour un outil ou un processus suivant. Si la sortie est enregistrée sur disque, seuls les champs répertoriés comme visibles apparaîtront dans les nouvelles données.
-
L'option de règle de division de la commande Informations de champ ne s'applique pas à cet outil.
Syntaxe
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. La syntaxe de l'expression diffère légèrement en fonction de la source des données. Par exemple, lorsque vous interrogez des géodatabases fichier ou ArcSDE, des fichiers de formes ou des couvertures, placez le nom des champs entre guillemets doubles : "MY_FIELD" Si vous interrogez des géodatabases personnelles, placez les champs entre crochets : [MON_CHAMP] Dans Python, les chaînes se trouvent entre guillemets simples ou doubles. Pour créer une chaîne contenant des guillemets (comme c'est souvent le cas pour les clauses WHERE dans les expressions SQL), vous pouvez désactiver les guillemets (à l'aide d'une barre oblique inverse) ou placer la chaîne entre guillemets triples. Par exemple, si la clause WHERE souhaitée est "CITY_NAME" = 'Chicago' vous pouvez mettre la chaîne entière entre guillemets doubles, puis désactiver les guillemets doubles intérieurs de la manière suivante : " \"CITY_NAME\" = 'Chicago' " Ou vous pouvez mettre la chaîne entière entre guillemets simples, puis désactiver les guillemets simples intérieurs de la manière suivante : ' "CITY_NAME" = \'Chicago\' ' Ou vous pouvez mettre la chaîne entière entre guillemets triples sans désactiver les guillemets : """ "CITY_NAME" = 'Chicago' """ Pour en savoir plus sur la syntaxe SQL et sur ses différences selon les sources de données, 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 des champs. Si l'entrée est une table de géodatabase et que l'espace de travail en sortie est une table dBASE, les noms de champs peuvent être tronqués car les champs dBASE ne doivent pas comporter plus de 10 caractères. Les nouveaux noms peuvent être révisés et modifiés à l'aide du contrôle des informations de champ. | Workspace |
field_info (Facultatif) |
Spécifiez les champs de la table en entrée à renommer et à 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. # Author: ESRI # 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) # Persist the layer on disk arcpy.CopyRows_management("crime_view", "C:/temp/newfreq.dbf")