开发方面,选择了Java语言和J2EE架构,可以有效地保证系统的跨平台可移植性、可伸缩性和可扩充性。
3.2 总体框架设计
按照危险源管理WebGIS系统的业务需求及功能需求,系统的体系结构见图2。系统采用分布式B/S计算环境中,用户只需要通过浏览器即可使用这个系统,,在应用服务器、WebGIS服务器及数据库服务器之间通过千兆以太网和TCP/IP协议进行通信,实现分布式环境中的地图服务和数据共享。[3]
3.3 数据库设计
危险源系统数据库设计成空间数据库和业务数据库。
3.3.1 空间数据库设计
系统的空间数据主要以该地区1:5万电子地图为基础地图,对于图形数据,系统采用SuperMap的SDX+引擎来管理,各个图层均通过SDX+存储在Kingbase ES数据库中,见表1所示。
图2 危险源管理WebGIS系统体系结构
表1 空间数据库主要内容
名 称 | 具体内容 |
普通图层 | 反映水系、村庄、机关、学校、 工厂、注记等辅助信息 |
区域图层 | 反映不同乡镇区域的空间分布情况 |
道路图层 | 反映国道、省道、铁路、高速公路 等交通情况 |
危险源分布图层 | 反映危险源空间分布情况 |
3.3.2 业务数据库设计
系统的业务数据表见表2所示。业务数据采用与空间数据库有机关联的关系式数据库结构设计,与应用图层挂接关联,方便与对业务数据进行GIS相关的查询。
3.3.3 业务数据库与空间数据库关联
系统空间数据库采用SuperMap的SDX+引擎,该引擎采用关系型数据库来进行空间数据的存储与访问。针对每个空间矢量图层,都有SmID的字段进行标识;针对一个矢量图层的不同要素,分配不同的SmID的值,这样,可以保证每个矢量要素都有唯一的SmID。
系统业务数据库的设计利用SmID的唯一性,为每个危险源定义了唯一的编号ID,通过SmID和ID的唯一值关联关系,从而实现了业务数据库与空间数据库的关联。