说了这么多,即便我在Geodatabase里面引入了 subtype 的概念, so what!?
那么我们看看它的好处吧:
fid | geom | subtype | width | ln | name
102 - concrete 65 4 US Highway 285
103 - concrete 75 4 NM Highway 14
104 - concrete 75 4 US Interstate 25
101 - asphalt 45 2 Grant Paige Ave
102 - asphalt 35 2 Shakedown Street
103 - asphalt 40 2 Acequia Wier
104 - asphalt 45 2 hart Alley
101 - gravel 25 2 Lesh Ranch Road
102 - gravel 15 1 Garcia Road
103 - gravel 20 1 McKernan Lane
104 - gravel 15 1 Kreut zman Road
So, subtype 其实就是一个属性列,我们可以:
1. 为每一个子类型命名;
2. 为每一个子类型的各个字段定义不同的属性域;
3. 为每一个子类型的各个字段定义默认值;
4. 可以描述关系(relationship)的类型,这些关系是某一子类型中的对象(Object)与另外一子类型中的对象之间的关系,这些对象可以处于同一对象类(Object Class)中,也可以在不同的对象类中;
5. 如果你写了一些代码,你也可以为对象和地理特征的子类型加入自己的规则。
好了,我们就可以为上面的道路子类型 concrete 定义下面的 simple behaviours:
1. 我们把某种道路归为子类型 —— concrete,这就是我们为该子类型命的名;
2. 一条 concrete 公路被赋予 “能拥有四条车道” 的默认属性;
3. 合法宽度为55, 65, 75 米;
3. 合法的路名前缀为 Highway/ Interstate;
4. 打断一条 highway 时,保持所有highway的属性;
5. 一条concrete公路可以连接到一条asphalt道路,但是不能连到gravel道路;
6. 两条concrete公路可以通过一条公路通道(highway route)来关连起来。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1098971