依照传递字段属性域描述环境的工具,其用于控制输出是否包括包含属性域和子类型描述的字段,以及包含属性域和子类型代码的字段。 当地理处理工具的输入是定义了属性域和子类型的地理数据库要素类或表时,此设置才相关。
默认情况下,shapefile 或 dBASE 输出中仅包括域和子类型编码。 这一地理处理环境设置非常有用,因为 shapefile 和 dBASE 表(.dbf 文件)不支持属性字段域和子类型等高级功能;但是,有些工作流要求输出须为这些格式中的一种,而且属性域和子类型的描述信息是维护所需的信息。
了解有关其他使用 shapefile 输出时的限制的详细信息
用法说明
- 如果使用此地理处理环境,则输出将包含其他字段。 如果输入中包含子类型字段,则输出结果将包含一个子类型编码字段(根据原始字段命名)和一个子类型描述字段(根据原始字段命名,加上表示描述的前缀 d_)。 如果输入中包含属性域,则输出结果将为每个带有属性域的字段提供一个包含属性域编码的字段(根据原始字段命名),并为每个带有属性域的字段提供一个包含属性域描述的字段(根据原始字段命名,加上表示描述的前缀 d_)。
- 当查看属性表或识别定义了子类型和属性域的地理数据库要素类或要素表中的要素时,所显示的属性为属性域和子类型描述(而非编码)。
- 向地理处理操作的输出传输字段域描述比只传输域和子类型编码花费的时间多(由此导致性能降低)。 只有当输出中明确指出需要域和子类型描述时,才会使用此环境设置。
对话框语法
- 取消选中 - 输出不包括包含子类型和属性域描述的其他字段。 这是默认设置。
- 选中 - 输出包括包含子类型和属性域描述的其他字段。
脚本语法
arcpy.env.transferDomains = transfer_domains
transfer_domains | 说明 |
---|---|
NOT_TRANSFER_DOMAINS 或 False | 输出不包括包含子类型和属性域描述的其他字段。 这是默认设置。 |
TRANSFER_DOMAINS 或 True | 输出包括包含子类型和属性域描述的其他字段。 |
脚本示例
# Name: exportToShapefile.py
# Purpose: Export a geodatabase feature class to a shapefile, include domain and subtype descriptions
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
arcpy.env.transferDomains = True
# The equivalent with a keyword is
# arcpy.env.transferDomains = "TRANSFER_DOMAINS"
# Set local variables
inFeatures = "Habitat_Analysis.gdb/vegtype"
outLocation = "Shapefiles"
outName = "Vegetation.shp"
arcpy.conversion.FeatureClassToFeatureClass(inFeatures, outLocation, outName)