ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

指定字段的属性域

  • 描述
  • 使用方法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

描述

设置特定字段的属性域,也可设置子类型的属性域。如果未指定任何子类型,则仅为特定字段指定属性域。

使用方法

  • 属性域管理涉及以下步骤:

    1. 使用创建属性域工具创建属性域。
    2. 使用向属性域添加编码值工具或设置值域范围工具,向属性域添加值或设置属性域的取值范围。
    3. 使用该工具将属性域与要素类相关联。
  • 属性域与表或要素类相关联时,会在数据库中创建属性验证规则。该属性验证规则用于说明和限制字段类型的有效值。

  • 一个属性域可与同一表、要素类或子类型的多个字段相关联,也可与多个表和要素类中的多个字段相关联。

  • 输入表参数支持要素图层或表视图。

  • 还可以在 ArcCatalog 或目录窗口中管理工作空间属性域。可通过数据库属性对话框中的属性域选项卡创建和修改属性域。

  • 子类型参数的添加值按钮仅用于模型构建器。在模型构建器中,如果先前的工具尚未运行或其派生数据不存在,则可能不会对“子类型”参数填充值。“添加值”按钮可用于添加所需值,以便您完成指定字段的属性域对话框并继续构建模型。

语法

arcpy.management.AssignDomainToField(in_table, field_name, domain_name, {subtype_code})
参数说明数据类型
in_table

包含要指定属性域的字段的表或要素类的名称。

Table View
field_name

要指定属性域的字段的名称。

Field
domain_name

要指定给字段名的地理数据库属性域的名称。将自动加载可用的属性域。

String
subtype_code
[subtype_code,...]
(可选)

要指定属性域的子类型编码。

String

派生输出

名称说明数据类型
out_table

已更新的输入表。

表视图

代码示例

AssignDomainToField 示例(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 AssignDomainToField 函数。

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.AssignDomainToField_management("montgomery.gdb/Landbase/Parcels", 
                                     "ZONING_S", "ZoningFields", "1: government")
AssignDomainToField 示例 2(独立脚本)

以下脚本将 AssignDomainToField 函数用作工作流的一部分,以创建属性域、为属性域指定值并为字段指定属性域。

# Name: MakeDomain.py
# Description: Create an attribute domain to constrain pipe material values
 
# Import system modules
import arcpy
# Set the workspace (to avoid having to type in the full path to the data every time)
arcpy.env.workspace = "C:/data"
 
# Set local parameters
domName = "Material4"
gdb = "montgomery.gdb"
inFeatures = "Montgomery.gdb/Water/Distribmains"
inField = "Material"
 
# Process: Create the coded value domain
arcpy.CreateDomain_management("montgomery.gdb", domName, "Valid pipe materials", 
                              "TEXT", "CODED")
    
# Store all the domain values in a dictionary with the domain code as the "key" 
# and the domain description as the "value" (domDict[code])
domDict = {"CI":"Cast iron", "DI": "Ductile iron", "PVC": "PVC", 
           "ACP": "Asbestos concrete", "COP": "Copper"}
# Process: Add valid material types to the domain
# use a for loop to cycle through all the domain codes in the dictionary
for code in domDict:        
    arcpy.AddCodedValueToDomain_management(gdb, domName, code, domDict[code])
    
# Process: Constrain the material value of distribution mains
arcpy.AssignDomainToField_management(inFeatures, inField, domName)

环境

  • 自动提交
  • 当前工作空间

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题

  • 属性域工具集概述
  • 子类型快速浏览
  • 属性域快速浏览
  • 属性域的地理处理注意事项
  • 使用图层和表视图

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2021 Esri. | 隐私政策 | 法律声明