创建表视图 (数据管理)

摘要

根据输入表或要素类创建表视图。 由于创建的表视图是临时性的,如果不保存文档,该图层将在会话结束后消失。

使用情况

  • 通常情况下,此工具根据包含所选属性字段集的 SQL 表达式创建表视图。

  • 如果使用了 SQL 表达式但却没有返回任何内容,则输出为空。

参数

标注说明数据类型
输入表

输入表或要素类。

Table View; Raster Layer
表名

要创建的表视图的名称。

Table View; Raster Layer
表达式
(可选)

用于选择记录子集的 SQL 表达式。

SQL Expression
输出工作空间
(可选)

不使用此参数。

ArcGIS Desktop 中,输出字段名将基于该工作空间进行验证。 ArcGIS Pro 中,由于表视图不支持与底层数据源不同的字段名称,因此该工具不支持更改字段名称。

Workspace
字段信息
(可选)

输入表中将包含在输出图层中的字段。 可以通过将其设置为不可见来移除输入字段。 不支持重命名字段和使用分割策略。

Field Info

arcpy.management.MakeTableView(in_table, out_view, {where_clause}, {workspace}, {field_info})
名称说明数据类型
in_table

输入表或要素类。

Table View; Raster Layer
out_view

要创建的表视图的名称。

Table View; Raster Layer
where_clause
(可选)

用于选择要素子集的 SQL 表达式。有关 SQL 语法的详细信息,请参阅帮助主题在 ArcGIS 中使用的查询表达式的 SQL 参考

SQL Expression
workspace
(可选)

不使用此参数。

ArcGIS Desktop 中,输出字段名将基于该工作空间进行验证。 ArcGIS Pro 中,由于表视图不支持与底层数据源不同的字段名称,因此该工具不支持更改字段名称。

Workspace
field_info
(可选)

输入表中将包含在输出图层中的字段。 可以通过将其设置为不可见来移除输入字段。 不支持重命名字段和使用分割策略。

Field Info

代码示例

MakeTableView 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 MakeTableView 函数。

import arcpy

arcpy.management.MakeTableView("C:/data/input/crimefrequency.dbf", "crimefreq_tview")
创建表视图 (MakeTableView) 示例 2(独立脚本)

以下独立脚本演示了如何使用包含 FieldInfo 对象的 MakeTableView 在输出中过滤字段。

# Name: MakeTableView_Example2.py
# Description: Uses a FieldInfo object to select a subset of fields and use with MakeTableView

# 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 input fields and add them to fieldinfo
for field in fields:
    if field.name == "CRIME_ADDRESS":
        # Make the CRIME_ADDRESS field hidden
        fieldinfo.addField(field.name, field.name, "HIDDEN", "")
    else:
        fieldinfo.addField(field.name, field.name, "VISIBLE", "")

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

# Persist the view to a table
arcpy.management.CopyRows("crime_view", "C:/data/tables.gdb/crime_copy")

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题