WebGIS 系统概述,开发背景
地理信息系统GIS 广泛应用于国民经济的各个领域。特别是在交通管理领域,GIS有着更加重要的地位。现代的城市道路是城市总体规划的主要组成部分,关系着整个城市的有机活动。对城市路网的管理,包括道路监测点的维修和设备更换,路况的拥塞度查询,路线的最短路径搜索,以及城市全貌的浏览和空间检索,都能在GIS 里得到直观的体现。因此,开发和应用交通WebGIS 信息系统,具有很高的实用价值和商业前景。
本文介绍基于Web 平台的交通WebGIS 信息系统的构建。手机客户端采用ArcGIS在线电子地图的APP ,前台地图显示编辑采用ArcG IS 开发框架,系统整体框架采用SSH(Struts2 + Spring2 + Hibernate3 ),地图前台框架采用ArcGIS JavaScript Web ,地图服务器为ArcGIS ServerlO. 2, Web 服务器为Tomcat?. 0 ,地图编辑和数据分析采用ArcGISDesktoplO. 2 ,数据库PostgreSQL + PostGIS 。
需求分析
交通WebGIS 信息系统是道路交通信息和城市空间信息的快速发布、查询检索以及相关统计分析的网络信息系统,主要用户是道路交通管理部门,将来还会开放部分功能给广大市民。因此系统界面必须简单友好,同时提供完善的功能。结合城市道路交通信息管理的实际需求,遵循科学性、实用性、可扩展性和开放性等原则开发,系统应实现以下功能:
(1 )地图管理功能。实现对地图图层的分层显示和管理、实现基本的放大、缩小、平移、漫游、地图查询、图层控制、鹰眼等操作;通过不同颜色实时显示道路交通流信息,从而分析目前的道路交通状况;地图上业务信息应该和地图位置保持同步。
(2 )手机端APP 功能。地图浏览、地点搜索、路径查询、定位和导航等。因此从界面设计上,采用一个主界面和三个二级界面来实现这些基本地图功能。主界面展示基本地图,并且可以通过选项菜单切换不同类型的地图,三个二级界面分别实现地点搜索功能、路径查询功能以及导航功能。
( 3 )区域交通状态服务水平的多粒度评价及展示。提供对经典区域划分的服务水平及指标展示和任意区域划分的服务水平及指标展示,即依据经典的城区划分或经典的交通区域划分显示各区域的服务水平,同时用户还可以根据自己的需求进行的任意区域划分,系统会自动计算该区域划分中各区域的各项指标参数和服务水平,并展示出来。
( 4 )城区主要道路和区域交通的短时预测预报。提供5 分钟、10 分钟、1 5 分钟后的道路及区域交通状态的展示以及统计分析以及与当前状态的对照功能。
( 5 )路径规划。根据在地图上添加的任意停靠点显示一条最优路径,同时可以在这条路径上添加临时事件障碍点,重新生成并显示新的路径。
(6 )导航功能。根据输入的不同目的地(或输入的两个不同地点〉在地图中显示一条最优路径,同时可以在列表框添加多个中间点,生成一条同时经过不同中间点的最优路径。
(7 ) 用户管理及权限控制。用户管理主要是用户信息添加、删除、修改等。用户权限控制主要是针对不同用户的请求作不同的权限设置,对于系统管理员级别的用户可以使用系统的配置以及编辑功能,对服务器的系统参数、数据进行更新和修改,而一般的用户可能只具备浏览、查询、统计制图等功能。
(8 )其他功能,如系统管理、公告管理、日志管理等。除了上述主要功能以外,交通WebGIS 信息系统还应该满足以下非功能性需求:
(1 )系统性能:保证系统数据来源可靠、实时,对信息查询的响应时间不应超过5 秒。
(2 )系统开放性:系统要求能够与不同的地理信息系统,不同格式的地理信息数据相兼容;系统提供的功能应该能够支持不同语言的操作系统。
(3 )系统可移植性: 整个系统应具有很高的可靠性、稳定性,满足连续稳定运行的要求。
(4 )数据管理性能: 系统应满足数据保存至当前两年内的数据的容量管理需求;支持三年内的数据增长的管理需求。
( 5 )数据采集频率: 为保证区域交通信息系统能够对服务水平状态进行准确的监控,同时考虑到高峰时段的特殊情况,对于检测器数据采集频率应为每两分钟发送一次。
系统整体设计
系统的整体架构设计是项目开发的关键,整体设计的好坏将关系到系统开发过程是否顺利以及日后维护是否方便等。系统基于Web 平台构建,手机客户端采用ArcGIS 在线电子地图的APP ,前台地图显示编辑采用ArcGIS 开发框架,系统整体框架采用SSH(Struts2 +Spring2 + Hibernate3 ),地图前台框架采用ArcGIS JavaScript Web ,地图服务器为ArcGIS ServerlO. 2, Web 服务器为Tomcat7 . 0 ,地图编辑和数据分析采用ArcGIS DesktoplO. 2 ,数据库为PostgreSQL + PostGIS 。 首先是交通WebGIS 信息系统逻辑分层设计,完全遵循MVC 的模块化设计,逻辑分层
其中,视图层也称为“表示层”,是系统与用户交互的窗口。用户看到的所有页面都可以称为视窗层,该层通过Struts2 和JSP 实现。控制层从视窗层接受用户请求,然后从模型层取出处理结果并返回给视窗层,其中并不涉及任何具体的业务逻辑处理。
模型层负责处理业务逻辑和数据库的底层操作,为了继续降低程序的搞合关系,在项目设计中将此层划分为业务层和持久层,前者负责业务逻辑的处理;后者负责数据库的底层操作,将持久化操作完全从业务分离出来,提高了程序的模块化设计。逻辑分层之间的内部关系如图