上述三种主要的公交数据库均有不同的侧重点和数据结构,在实现上可以是传统的ER技术或现在的面向对象技术,但是,三种应用就有三种数据库,这对数据库的重用和维护显然有很多困难。随着GeoDatabase的出现,多层次的公交数据库可以将不同的应用整合起来,不同的应用可以动态选择不同层次、精度的数据,从而降低系统的开销,增强了数据库的重用性、提高了数据维护和管理的容易性。
本文在上述基础上提出一种面向对象的多层次公交原型数据库。该公交数据库即公交GeoDatabase的实现分为三个部分(图6-4)。
图6-4 数据库实现过程
利用Microsoft Visio的ESRIExportToXml命令,将模型输出到XML文件(图6-5)。
图6-5 XML输出
模型语义检查(Semantics Checker)是为了保证UML模型所定义的各种类及之间的关系是正确的。例如,网络特征类必须同几何网络相关联,语义检查保证了模型中对象、关系的正确性(图6-6)。
(www.xing528.com)
图6-6 模型语义检查
当语义检查无错误后,使用ArcCatalog中模型向导(Schema Wizard),将所生成的数据模型导入GeoDatabase生成所需数据结构(图6-7)。
图6-7 GeoDatabase数据结构
图6-7显示的是模型向导生成的GeoDatabase结构,包括Feature,Network数据集,Bus等表和SegHasTime等关系。此时,可通过属性设置来改变在UML建模过程中所定义的几何类型、关键字等内容,手工指定特征数据集的空间参照或使用新的坐标系。
因本书使用西安市公交数据,该数据存储于已有的GeoDatabase,故只需将该GeoDatabase的空间参照导入,至此所需数据库结构建立。
图6-8 ArcCatalog中数据库结构
图6-8所显示的是在ArcCatalog中的数据库结构。UML中的版式(Feature Dataset)包,在GeoDatabase中,表现为特征数据集(Feature Dataset),UML中的各种关系转化为关系类(Relationship Class),各种非空间对象转化为表(Table)。空间对象和非空间对象的属性作为属性数据存在,通过关键字与对象相连。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。