表筛选 (Analysis)
摘要
筛选与结构化查询语言 (SQL) 表达式匹配的表记录并将其写入输出表。
用法
-
输入可以是 INFO、dBASE 表或地理数据库表、要素类、表视图或 VPF 数据集。
-
表达式参数可通过查询构建器 进行创建或直接输入。有关表达式语法的详细信息,请参阅构建 SQL 表达式或 SQL 参考。
-
如果为输入表使用表视图并且未输入任何表达式,则仅将所选记录写入输出表。如果为输入表使用表视图并且输入了表达式,则仅对所选记录执行表达式并将所选集中基于表达式的子集写入输出表。
如果想通过表视图的所选记录集创建表,可使用复制行(管理)工具。
语法
参数 | 说明 | 数据类型 |
in_table |
该表中与指定表达式匹配的记录将被写入输出表。 | Table View; Raster Layer |
out_table |
该输出表包含输入表中与指定表达式相匹配的记录。 | Table |
where_clause (可选) |
用于选择记录子集的 SQL 表达式。表达式的语法会因数据源的不同而稍有不同。例如,如果要查询文件或 ArcSDE 地理数据库、shapefile、coverage、dBASE 或 INFO 表,需将字段名用双引号括起: "MY_FIELD" 如果要查询个人地理数据库,需将字段用方括号括起: [MY_FIELD] 在 Python 中,字符串用成对的单引号或双引号括起。要创建含有引号的字符串(常见于 SQL 表达式中的 WHERE 子句),可以对引号进行转义(使用反斜线)或对字符串使用三重引号。例如,如果所需的 WHERE 子句为 "CITY_NAME" = 'Chicago' 可以将整个字符串用双引号括起,然后如下所示对内部双引号进行转义: " \"CITY_NAME\" = 'Chicago' " 或者可以将整个字符串用单引号括起,然后如下所示对内部单引号进行转义: ' "CITY_NAME" = \'Chicago\' ' 或者不进行转义,而将整个字符串用三重引号括起: """ "CITY_NAME" = 'Chicago' """ 有关 SQL 语法及其在不同数据源中的差异的详细信息,请参阅帮助主题在 ArcGIS 中使用查询表达式的 SQL 参考。 | SQL Expression |
代码实例
以下 Python 窗口脚本演示了如何在即时模式下使用“表筛选”功能。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.TableSelect_analysis("majorrds.shp", "C:/output/majorrdsCl4.shp", '"CLASS" = \'4\'')
以下 Python 脚本演示了如何在独立脚本中使用“表筛选”功能。
# Name: TableSelect_Example2.py
# Description: Selct class4 roads from the major roads gnatcatcher habitat study area
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/data"
# Set local variables
in_features = "majorrds.shp"
out_feature_class = "C:/output/majorrdsCl4.shp"
where_clause = '"CLASS" = \'4\''
# Execute TableSelect
arcpy.TableSelect_analysis(in_features, out_feature_class, where_clause)