honghu
路人甲
路人甲
  • 注册日期2003-08-06
  • 发帖数113
  • QQ
  • 铜币292枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2478回复:3

(原创)Geodatabase中的子类(Subtypes)

楼主#
更多 发布于:2003-08-06 00:30
(原创)Geodatabase中的子类(Subtypes)
数据库组织中关心的两件事就是完整性和效率的高低。域和子类为组织数据提供了一种方法,便于确保这些操作,如编辑,在保持属性完整性的前提下更加高效。下面就子类问题进一步阐述。
设计Geodatabase的一个重要决策就是确定是要组成一组要素类还是建立有子类的单一要素类。子类是一个要素类或对象类中要素或对象的轻量级的划分。使用子类的主要原因是提高性能。含有少量要素类的Geodatabase比含有多个要素类的Geodatabase性能更好一些。子类允许用户通过属性规则、关系规则、默认值和连接规则指定一个要素类中一组要素的行为。在任何可能的情况下,都应首先选择用子类区分相关联的要素组。
虽然一个要素类或表的所有对象有相同的行为和属性,但并不是所有的对象共巷相同的属性域。当一个要素类或表中的对象使用不同的属性域时,使用不同属性域的对象构成了要素类或表的子类(Subtypes)。一个对象的字类是由其子类代码值决定的,子类代码一整型字段存储在要素类或表中,每一个子类型在给定的字段可以有它自己的缺省值集合和属性域,并且关联不同的连接规则。
在进行Geodatabase设计时,需要决定在什么地方社和使用子类型和在什么地方需要添加要素类,当需要通过缺省值、属性域、连接规则、关系规则区分对象时就需要对单一的要素类或表建立不同的子类型。当根据不同的行为、属性、访问权限或对象的多版本来区分对象时,必须建立另外的要素类,即需要把相关联的要素组分成不同要素的情况有:每一组的关联要素需要不同的定制行为;要素集的属性不同;每一要素组组要不同的访问权限;一些要素需要通过版本访问,而另外一些不能。
子类提供了一种划分要素的方法,即依据长整型数属性值把要素类划分成多个逻辑组。例如,街道类中有一个长整型属性字段CLASS(街道级别),1代表主要街道,2代表次要街道。将街道类划分为两个子类,主要街道和次要街道就是根据要素类中的列的数值而创建。任何值为1 的要素都归类到次要街道子类,值为2的要素类属于主要街道子类。这样在ARCMAP中可以利用符号表示或根据子类对其进行编辑。通过子与一个域的联结,还可以为整个子类加强数据的完整性。
注意:子类列必须是长整数。如果从INFO表向Geodatabase表中导入数据,则惟有定义为4字节的二进制的数据项才是合格的。如果没有整数列,则需要创建一个,可以用以下技巧:在Geodatabase添加一个长整数列,然后把原来非长整数列中的数值转移到新的整数列中。
参考
ArcGIS 8开发与实践(毛锋)
Geodatabase教程(培训教程)
Building a Geodatabase(ESRI)

喜欢0 评分0
zzhzzh
路人甲
路人甲
  • 注册日期2003-07-28
  • 发帖数195
  • QQ
  • 铜币972枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2003-08-07 08:43
谢谢老兄的支持
QQ:249778885 MSN: zhonghuizhang@hotmail.com EMAIL:zzhgiszzh@163.com
举报 回复(0) 喜欢(0)     评分
狐兄
路人甲
路人甲
  • 注册日期2003-07-28
  • 发帖数62
  • QQ67586473
  • 铜币280枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2003-08-07 11:22
受益菲浅!
<img src="images/post/smile/dvbbs/em06.gif" />
[此贴子已经被作者于2003-8-7 15:57:56编辑过]
天下英雄出我辈 一入江湖岁月催; 宏图霸业谈笑中 不胜人生一场醉; 提剑跨骑挥尾雨 白骨如山鸟惊飞; 尘世如朝人如水 只叹江湖几人回;
举报 回复(0) 喜欢(0)     评分
denxiqing
路人甲
路人甲
  • 注册日期2003-07-28
  • 发帖数76
  • QQ
  • 铜币180枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2003-08-07 22:24
子类在进行数据处理后产生的新数据集中将丢失,只保存了子类码,如对一个GEODATABASE数据集进行clip产生新的GEODATABASE数据集,在新数据集中将没有子类,只保存了子类的CODE.不知是否有办法在新数据集中继承原数据集中的子类.
举报 回复(0) 喜欢(0)     评分
游客

返回顶部