支持“传输字段属性域描述”环境的工具用于控制输出 shapefile 和 dBASE 表 (.dbf) 除了包含属性域和子类型编码的字段之外,是否还添加包含属性域和子类型描述的字段。仅当地理处理工具的输入是一个定义了属性域和子类型的地理数据库要素类或表时,此设置才是重要的。默认情况下,shapefile 或 dBASE 输出中仅包括域和子类型编码。
这一地理处理环境设置非常有用,因为 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
# 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)