要素类至要素类 (转换)
摘要
将 shapefile、coverage 要素类或地理数据库要素类转换为 shapefile 或地理数据库要素类。
用法
-
字段映射参数控制输入要素中的输入字段写入输出要素的方式。
- 要在转换过程中删除字段,请从字段映射中将输入字段删除。该操作不会影响输入要素类。
- 如果创建了新字段,并且输出字段的内容是根据多个(名称不同的)字段生成的,则单个输出字段可根据多个输入字段生成。
- 输出字段的数据类型将默认为与其所遇到的第一个名称相同的输入字段的数据类型相同。可以随时手动将该数据类型更改为任意有效的数据类型。如果使用工具的对话框,则将列出所有有效的数据类型。
- 如果使用合并规则,则可自行指定分隔符,例如,空格、逗号、句点和短划线等。如果想要使用空格,请确保鼠标指针位于输入框的起始位置处,然后单击空格键。
- 可用的“合并规则”有很多:第一个、最后一个、连接、总和、平均值、中值、最小值、最大值和标准差。
- 格式选项仅适用于文本型输入字段(且与“连接”合并规则结合使用)。可以指定起点和终点等。使用格式,可以将更改应用到所选的输入字段或者所有相同的输入字段。
- 不应对单个输入执行标准差计算,因为数字不能被零除,因此标准差不适用于单个输入。
-
复制要素工具还可用于将 shapefile、coverage 要素类或地理数据库(文件、个人或 ArcSDE)要素类转换为 shapefile 或地理数据库(文件、个人或 ArcSDE)要素类。
-
可用于选择要素子集的 SQL 表达式。有关表达式参数的语法的更多详细信息,请参阅构建 SQL 表达式或 SQL 参考。
将包含子类型或域的地理数据库数据转换为 shapefile 时,子类型和域代码以及描述都将包含在输出中。使用传输字段域描述地理处理环境控制此行为。默认情况下,只有域和子类型代码才会被包含在输出中,描述不会被包含在输出中。
注:转换为包含子类型和域描述的 shapefile 比转换为不包含描述的 shapefile 可能需要更多时间(降低性能)。如果在 shapefile 输出中不需要子类型和域描述,则建议取消选中传输字段域描述环境的(脚本中的 False 或 NOT_TRANSFER_DOMAINS)默认行为以实现最佳性能。
语法
参数 | 说明 | 数据类型 |
in_features |
要转换的要素类或要素图层。 | Feature Layer |
out_path |
将创建输出要素类所在的位置。该位置可以是地理数据库或文件夹。如果输出位置是文件夹,则输出将为 shapefile。 | Workspace;Feature Dataset |
out_name |
输出要素类的名称。 | String |
where_clause (可选) |
用于选择要素子集的 SQL 表达式。表达式的语法会因数据源的不同而稍有不同。例如,如果要查询文件或 ArcSDE 地理数据库、shapefile 或 coverage,字段名需用双引号: "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 |
field_mapping (可选) |
从输入要素类中选择的字段和字段内容。您可添加、重命名或删除输出字段,还可设置诸如数据类型和合并规则等属性。 | Field Mappings |
config_keyword (可选) |
指定文件地理数据库和 ArcSDE 地理数据库的存储参数(配置)。个人地理数据库不使用配置关键字。 对于企业级 ArcSDE,ArcSDE 配置关键字由数据库管理员设置。 | String |
代码实例
以下 Python 窗口脚本演示了如何在即时模式下使用要素类至要素类 (FeatureClassToFeatureClass) 工具。
import arcpy
from arcpy import env
env.workspace = "C:/data/GreenvalleyDB.mdb/Public Buildings"
arcpy.FeatureClassToFeatureClass_conversion("buildings_point",
"C:/output/output.gdb",
"buildings_point")
以下独立脚本演示了如何使用要素类至要素类 (FeatureClassToFeatureClass) 工具。
# Name: FeatureClassToFeatureClass_Example2.py
# Description: Use FeatureClassToFeatureClass with an expression to create a subset
# of the original feature class.
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data/GreenvalleyDB.mdb/Public Buildings"
# Set local variables
inFeatures = "buildings_point"
outLocation = "C:/output/output.gdb"
outFeatureClass = "postoffices"
delimitedField = arcpy.AddFieldDelimiters(env.workspace, "NAME")
expression = delimitedField + " = 'Post Office'"
# Execute FeatureClassToFeatureClass
arcpy.FeatureClassToFeatureClass_conversion(inFeatures, outLocation,
outFeatureClass, expression)