![地理信息系统应用与实践](https://wfqqreader-1252317822.image.myqcloud.com/cover/594/35808594/b_35808594.jpg)
第5章 域集和规则
5.1 域集
属性的域是描述字段类型允许值的规则,用于约束表、要素类或子类型的特定属性的允许值。每个要素类或表都有一组应用于不同属性的属性域。地理数据库中的不同要素类和表可以共用给定的属性域。如果要素类具有子类型,每个子类型均可具有一个与给定属性相关联的不同属性域。
在MapGIS 10中,每个地理数据库都专门提供了域集管理节点,方便用户对域集进行添加、编辑等管理操作,具体操作方法如下。
5.1.1 添加和编辑域集
(1)右键单击“域集”节点,在弹出的右键菜单中选择“管理”,可弹出“域集管理”对话框,如图5-1所示。
![](https://epubservercos.yuewen.com/FA9C75/19118077008012006/epubprivate/OEBPS/Images/39623_116_1.jpg?sign=1739271483-CxnWsYwU8nuSpAAvbsF94m1T22HbyVfd-0-4e5382074b6bfd35f8e754b849a337e9)
图5-1 “域集管理”对话框及其弹出方法
![](https://epubservercos.yuewen.com/FA9C75/19118077008012006/epubprivate/OEBPS/Images/39623_117_1.jpg?sign=1739271483-pf8JY2w0EjLyOad50DUOdofm1ACgWPLw-0-a6ca3cc67a191a745f2962d61d1e77fd)
图5-2 添加一个域
(2)在弹出的“域集管理”对话框中,单击表单的空白表格,可以添加一个域,并可对域名、域类型、字段类型、域描述、拆分策略、合并策略进行编辑,如图5-2所示。
“域类型”可分为范围域和编码域。范围域:用于限制一个值域范围内任何对象或对象中的任一数值型属性值。编码域:如果许多属性是要素的类别,就可以用固定的一系列值表示它的取值范围。
“拆分策略”:一个属性字段被设置为范围域或编码域,当要素被拆分时属性同时也要改变,所以要声明在要素被拆分时发生的属性的拆分策略。拆分策略如下:
复制:被拆分出的要素的属性值具有与原始要素相同的属性值。
缺省值:缺省值应用在两个被拆分出的要素的属性值中。
比例值:可以按拆分的面积或长度值的比例来定义两个被拆分出的要素属性值。
“合并策略”用于要素的合并,合并策略如下:
缺省值:缺省值被应用到合并的要素的属性值中。
累加值:两个属性值的和作为合并的要素的属性值。
加权平均:合并要素的属性值是原始要素的属性值的加权平均。
在“域集信息”栏中可以对范围域或编码域的属性值进行编辑,MapGIS 10会根据当前域集的域类型自动切换内容。对于范围域,设置属性值的最大值和最小值,如图5-3所示;对于编码域,需要编写其编码信息,如图5-4所示。
![](https://epubservercos.yuewen.com/FA9C75/19118077008012006/epubprivate/OEBPS/Images/39623_117_2.jpg?sign=1739271483-jyth11xnmz9nmfMHjX4cG5dDCGPHQ84S-0-4fb781494701661e5ff79f795db140f1)
图5-3 范围域属性值的编辑
![](https://epubservercos.yuewen.com/FA9C75/19118077008012006/epubprivate/OEBPS/Images/39623_117_3.jpg?sign=1739271483-OqSNf8meB38PMRVUZNE8R9p2tc4U8dK1-0-b6df71b4531ae6bcad5ba6af4069f670)
图5-4 编码域属性值的编辑
(3)单击“确定”按钮即可完成域集的创建管理,在“GBDCatalog”目录窗口中显示创建的域集如图5-5所示。
![](https://epubservercos.yuewen.com/FA9C75/19118077008012006/epubprivate/OEBPS/Images/39623_118_1.jpg?sign=1739271483-ndgdzilYtiv80i47icg011i46ZmIRYEh-0-0812ee2b56c65e68232589794d65d99f)
图5-5 在“GBDCatalog”目录窗口中显示创建的域集
注:域集一般与属性规则配合使用。
5.1.2 删除域集
删除域集的方法有以下两种:
(1)在“域集管理”对话框中右键单击要删除的域集(如“FWY”),在弹出的右键菜单中选择“删除”即可删除域集,如图5-6所示。
(2)在“域集”节点下右键单击要删除的域集(如“FWY”),在弹出的右键菜单中选择“删除”即可删除域集,如图5-7所示。
![](https://epubservercos.yuewen.com/FA9C75/19118077008012006/epubprivate/OEBPS/Images/39623_118_2.jpg?sign=1739271483-mn9VYobNbCGjNIGJ73Fphq6TmZyXNivK-0-30504360638b884b6f165601bcb9e346)
图5-6 在“域集管理”对话框中删除域集
![](https://epubservercos.yuewen.com/FA9C75/19118077008012006/epubprivate/OEBPS/Images/39623_118_3.jpg?sign=1739271483-62LLDr6oinoj4MmllmHGn3lkZBL6o9w8-0-eb2706164d2307e8e2c425092076b711)
图5-7 在“域集”节点下删除域集