苏晓蓓,杨铭,张高峰,王志
(许昌市规划设计院,河南 许昌 461000)
WebGIS是GIS开发与互联网结合的产物,它具有面向对象、分布式和互操作等关键特征,是实现GIS互操作的一条最佳解决途径。但由于构建技术的复杂性和开发软件的高价位,使得开发一个简单的WebGIS系统也需要付出高昂的人力、物力和财力代价。而近年来快速发展的Map API技术,则让我们看到了小型化低成本WebGIS快速普及的新希望。
Google公司公开的Google Maps API(地图应用程序编程接口),实际上是一组Java script类库,用户运用里面的各个类,可以实现网页内容和Google Maps的无缝接合。Google Maps数据库中收纳了全球的详细地图数据,包括主要覆盖城市的矢量数据及其他覆盖城市的栅格数据。其中栅格数据是 LANDSAT-7、Quickbird和WorldView-1卫星的影像与航拍数据的整合。
基于Google Maps API技术构建WebGIS具有以下优点:
(1)Google Maps API对授权用户是免费开放的,明显比那些价格从几万到几十万不等的WebGIS软件占有优势。
(2)Google Maps API是属于基于服务器的应用结构(Server-Side),GIS处理任务大多集中在Google服务器端,并且支持用户在Google Maps API的基础上开发自己的函数,在满足用户多样化需求的同时还降低了用户很多工作量。
(3)Google Maps提供的地图数据有0.61 m分辨率,且提供十几级的缩放,其标注精度完全可以普通地理信息系统对地图的要求。
(4)Google Maps支持每天50000次的免费地图访问次数,能够满足小型WebGIS系统使用客户的正常登录使用。
本系统以Eclipse 6.0作为界面和功能开发工具,以Java为开发语言,采用浏览器/服务器(B/S)结构组织数据和发布信息。在Google Maps上定制的网络地图,可实现放大、缩小、平移、格式转换、电子地图鹰眼等功能,并以SQL Sever 2000作为后台数据库,将信息及时发布到网络地图上,使客户端能够对其进行快速、实时、无缝的浏览与查询。根据系统功能、业务流程的需求,采用基于J2EE的三层体系结构来实现信息共享。同时,由于系统面对的是多用户的应用需求,所以采取了基于角色的用户权限分配方法和用户访问控制策略。
图1 系统结构
在获取地图 API密钥之前,必须先注册使用Google账户申请一个与用户Google账户相关联的API密钥。
程序正确后上传到网络服务器对应目录,即完成将网络地图定制到自己指定的网络空间。将网络地图定制到自己指定的网络空间之后,根据自己的需求分别创建GMap类的实例、添加控制条、设置显示模式、设置中心点经纬度和缩放系数等(Google map网站有详细使用说明)。以添加事件响应为例:
图2 地图定制效果图
图2即是在Google Map中定制的东经113.28°、北纬24.77°附近12 km×12 km地图,用于显示广东省乳源县境内京珠高速公路。
本系统功能分为地图浏览、信息管理、用户管理和决策支持四大部分,其中地图浏览部分跟Google地图功能一样,包括放大、缩小、平移、格式转换、电子地图鹰眼等功能,在此不做详细介绍。
信息管理包括信息录入、信息发布、信息查询、信息维护和信息统计。其中信息统计功能模块的设计,是在 Java中引用了一个 JFreeChart画图控件。(JFreeChart实际上是Java平台上一个开放的图表绘制类库,可生成饼图、柱状图、散点图、时序图、甘特图等多种图表)。
以某高速公路监测站2005年的风力值信息统计为例,统计结果如图3所示。
图3 信息统计演示图
图3是将存储于数据库中的2005年全部风力值,按照月份进行平均后,做出的一个全年风力走势图。此功能可以针对SQL Sever2000中的各种高速公路监测信息,进行分类信息统计。
系统权限管理模块是基于角色的用户权限分配方法和用户访问控制策略。用户授权的项目包括信息管理权限中的可选项(信息录入、更新、查询、统计分析和预测)和系统权限管理中的可选项(添加、查询、注销用户)。
权限管理模块用户表部分代码:
图4 用户管理演示图
本系统的决策功能主要是指高速公路浓雾预测。从实时监测的高速公路沿线气象数据中,选用大气温度、大气湿度、风速、风向、露点、降水和、路面温度和大地温度8个要素作为气象因子,用前6小时的8个要素的观测值共48个观测数据作为预报因子,使用BP神经网络方法预报第7个小时时段是否有雾(篇幅限制,具体方法将另写论文介绍)。系统采用ODBC技术与数据库连接并调用预测结果,ODBC连接代码如下:
图5 决策支持演示图
本文讨论的基于Google Maps API技术的WebGIS系统构建方法,将信息管理和地理场景有机地结合起来,方便了用户更形象直观的查询信息,同时为用户提供必要的决策支持。需要强调的是,高速公路WebGIS的后端地理数据接口采用Google Maps API技术提供的地理信息,减少了开发小型WebGIS系统所需工作量,大大节省了所需的时间和花费。
[1]杨云源,何礼平.基于Goolge Maps API的WebGIS应用研究[J].电脑开发与应用,22(1),12~16
[2]倪凯等.基于J2EE架构的WebGIS协同平台系统集成[J].小型微型计算机系统,2007,1(1):133
[3]王红英,张延园.基于J2EE和Eclipse的自动Web化平台实现[J].微处理机,2008(6),85~88