ArcGIS中文网站 > 热门推荐 > ArcGIS怎么设置属性域 ArcGIS属性域设置后为什么无法选择编码值
教程中心分类
ArcGIS怎么设置属性域 ArcGIS属性域设置后为什么无法选择编码值
发布时间:2026/08/28 15:32:17

  属性域用于限制字段有效取值,适合统一道路等级、设施状态、管线材质等分类数据。编码值属性域由数据库保存的编码和界面显示的描述组成。处理“ArcGIS怎么设置属性域ArcGIS属性域设置后为什么无法选择编码值”时,除了创建属性域,还要完成字段分配、子类型配置和编辑验证。

  一、ArcGIS怎么设置属性域

 

  ArcGIS Pro中的属性域保存在地理数据库中,可供同一数据库内多个要素类和表使用。Shapefile、Excel和CSV不能完整保留这类规则,设置前应先确认数据源。

 

  1、创建编码值属性域

 

  字段类型必须与目标字段一致,文本字段不能直接使用短整型属性域,数字编码也不能忽略实际数据类型。

 

  ①在【目录】窗格中找到目标地理数据库,右键单击后选择【数据设计】→【属性域】。

 

  ②新建一行,填写属性域名称、说明和字段类型。

 

  ③将属性域类型设置为【编码值属性域】,按项目需要设置拆分和合并策略。

 

  ④在右侧填写编码与描述,例如编码为1,描述为“在用”。

 

  ⑤继续补齐停用、维修、报废等选项,检查编码是否重复。

 

  ⑥单击【保存】,确认属性域已经写入地理数据库。

 

  2、将属性域分配到目标字段

 

  属性域创建后不会自动控制字段,必须分配给具体要素类或表。一个属性域可以分配给多个同类型字段。

 

  ①右键单击目标要素类,选择【数据设计】→【字段】。

 

  ②找到目标字段,在【属性域】列中选择刚创建的属性域。

 

  ③检查【默认值】是否属于编码列表,不符合时先清空或改成有效编码。

 

  ④单击【保存】,关闭字段视图后重新打开属性表。

 

  ⑤双击目标字段的可编辑单元格,检查是否出现下拉列表。

 

  ⑥切换编码与描述显示,核对界面内容和数据库编码是否对应。

 

  3、为不同子类型配置属性域

 

  启用子类型后,字段级属性域可能被子类型级设置覆盖。部分要素有下拉列表、部分没有时,应先检查当前记录所属子类型。

 

  ①右键单击要素类,选择【数据设计】→【子类型】。

 

  ②确认子类型字段、编码和默认子类型设置正确。

 

  ③逐个选择子类型,在目标字段的【属性域】列中分配属性域。

 

  ④为各子类型设置有效默认值,避免默认值超出编码范围。

 

  ⑤单击【保存】,分别新建不同子类型的测试要素。

 

  ⑥打开属性编辑窗口,确认编码值会随子类型正确变化。

 

  二、ArcGIS属性域设置后为什么无法选择编码值

 

  字段没有下拉列表,说明属性域没有真正作用到当前编辑对象。数据源不支持、类型不匹配、修改未保存、子类型覆盖、权限不足和图层只读都会产生相似表现。

 

  1、检查数据源、字段和保存状态

 

  ①查看图层数据源,确认它位于文件地理数据库或企业级地理数据库。

 

  ②重新打开【字段】视图,核对目标字段的属性域名称和数据类型。

 

  ③进入【属性域】视图,确认编码表中确实存在编码和描述。

 

  ④结束未提交的地图编辑,再保存属性域和字段修改。

 

  ⑤移除地图中的旧图层并重新添加,排除旧字段缓存影响。

 

  ⑥新建测试要素,检查目标字段是否恢复下拉选项。

 

  存在未保存编辑时,属性域设置不会正式写入数据库,当前地图有未提交编辑时,属性域保存也可能受到限制。

  2、检查子类型、权限和编辑对象

 

  ①查看问题要素的子类型值,确认该子类型已分配目标属性域。

 

  ②在【子类型】视图中核对属性域和默认值,修正空白设置。

 

  ③检查图层是否可编辑,字段是否属于系统维护或只读字段。

 

  ④使用具备更新权限的账号复测,排除数据库权限限制。

 

  ⑤在【属性】窗格中编辑同一要素,检查字段是否出现下拉箭头。

 

  ⑥关闭连接表和查询图层后复测,确认编辑的是原始字段。

 

  3、清理默认值和历史非法数据

 

  分配属性域不会自动改写旧数据。现有记录仍可能保留编码范围外的值,错误默认值也会影响新建要素。

 

  ①统计目标字段的唯一值,并与编码列表逐项比较。

 

  ②筛选属性域之外的旧值,建立正确编码对照。

 

  ③使用【计算字段】批量替换错误编码,不确定的数据先留空。

 

  ④检查字段默认值和各子类型默认值,确保都属于有效编码。

 

  ⑤保存编辑后重新统计,确认非法值已经清理。

 

  ⑥再次新建和修改要素,验证选择与保存结果。

 

  三、怎样保证属性域长期稳定生效

 

  属性域还会受到数据导入、追加、复制和版本更新影响。外部数据可能带入非法值,导出到不支持属性域的格式后再导回,也可能丢失约束。

 

  1、建立属性域验证流程

 

  ①整理属性域名称、字段类型、编码、描述和适用字段清单。

 

  ②测试新建、修改、复制、拆分和合并要素后的字段结果。

 

  ③筛选违反属性域规则的记录,并按错误编码集中修正。

 

  ④数据追加前核对源字段类型和编码,必要时建立字段映射。

 

  ⑤增删编码后重新检查默认值、子类型和历史数据。

 

  ⑥保存数据库备份和调整记录,保留编码变化依据。

 

  ArcGIS Pro可以筛选违反地理数据库规则的对象,属性域检查也能识别不在编码列表中的值。

 

  2、验证数据迁移后的规则完整性

 

  ①复制或导入要素类后,检查目标字段的属性域名称。

 

  ②确认目标数据库存在同名、同类型且编码一致的属性域。

 

  ③抽查各子类型,核对属性域和默认值是否完整保留。

 

  ④切换编码与描述显示,检查实际保存的编码。

 

  ⑤新增和修改测试记录,验证下拉选项及校验行为。

 

  ⑥确认无误后再替换正式图层,避免直接覆盖原数据。

  总结

 

  “ArcGIS怎么设置属性域ArcGIS属性域设置后为什么无法选择编码值”的重点,是让数据格式、字段类型、编码列表、字段分配和子类型设置形成完整链路。创建属性域只是基础,后续还要验证权限、默认值、历史数据和迁移结果。把编码规则与检查流程一起维护,才能避免同一类别出现多种写法,并为统计、符号化和数据交换提供可靠基础。希望本文对大家规范ArcGIS属性数据有所帮助,如需进一步了解,可联系咨询。

135 2431 0251