此地理处理环境用于控制输出 shapefile 和 dBASE (.dbf) 表除了包含域和子类型编码的字段之外,是否还包含为存储域和子类型描述而添加的字段。仅在地理处理工具的输入参数是一个定义了域和子类型的地理数据库要素类或表时,此设置才是重要的。默认情况下,shapefile 或 dBASE (.dbf) 输出中仅包括域和子类型编码。
这一地理处理环境参数非常有用,因为 shapefile 和 dBASE (.dbf) 表不支持属性字段域和子类型等高级功能。但是,有些工作流需要输出采用这些格式中的任意一种,而且必须对域和子类型描述信息进行维护。
了解有关其他使用 shapefile 输出时的限制的信息
用法说明
- 如果使用此地理处理环境,则输出 shapefile 或 dBASE (.dbf) 表将包含添加到该输出的其他字段。如果输入中包含子类型字段,则输出结果将包含一个子类型编码字段(根据原始字段命名)和一个子类型描述字段(根据原始字段命名,加上表示描述的前缀 d_)。如果输入中包含属性域,则输出结果将为每个带有域的字段提供一个包含域编码的字段(根据原始字段命名),并为每个带有域的字段提供一个包含域描述的字段(根据原始字段命名,加上表示描述的前缀 d_)。
- 当查看属性表或识别地理数据库要素类中的要素或定义了子类型和域的表时,所提供的属性为域和子类型描述(而非编码)。
- 如果子类型和域描述中所包含的信息为必要信息,则该操作的输出结果将是一个 shapefile 或 dBASE (.dbf) 表,使用此环境设置可确保将该域和子类型描述添加到输出中。如果与以上这两个条件都无关,则不应使用此环境设置。
- 向地理处理的输出传输字段域描述的操作比只传输域和子类型编码花费的时间更长(性能降低)。只有输出中特别需要域和子类型描述时,才会使用此环境设置。
对话框语法
- 未选中 - 输出的 shapefile 或 dBASE (.dbf) 表将不提供包含子类型和域描述的其他字段。此设置为默认设置。
- 选中 - 输出的 shapefile 或 dBASE (.dbf) 表将提供包含子类型和域描述的其他字段。
脚本语法
arcpy.env.transferDomains = transfer_domains
transfer_domains | 说明 |
---|---|
False | 输出的 shapefile 或 dBASE (.dbf) 表将不提供包含子类型和域描述的其他字段。也可以使用 NOT_TRANSFER_DOMAINS 关键字对此进行设置。这是默认设置。 |
True | 输出的 shapefile 或 dBASE (.dbf) 表将提供包含子类型和域描述的其他字段。也可以使用 TRANSFER_DOMAINS 关键字对此进行设置。 |
# Name: exportToShapefile.py
# Purpose: Export a geodatabase feature class to a shapefile, include domain and subtype descriptions
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
env.transferDomains = True
# the equivalent with a keyword is
# env.transferDomains = "TRANSFER_DOMAINS"
# Set local variables
inFeatures = "Habitat_Analysis.gdb/vegtype"
outLocation = "Shapefiles"
outName = "Vegetation.shp"
arcpy.conversion.FeatureClassToFeatureClass(inFeatures, outLocation, outName)