基于GeoServer和OpenLayers技术的地理信息系统在市容环卫行业中的应用
2016-11-16申晓晓
申晓晓,孙 倩
(天津市环境卫生工程设计院,天津300201)
基于GeoServer和OpenLayers技术的地理信息系统在市容环卫行业中的应用
申晓晓,孙倩
(天津市环境卫生工程设计院,天津300201)
运用开源软件GeoServer和OpenLayers技术,建立与市容环卫行业相关的地理信息系统,实现直观可视化的地理信息展示和管理。介绍了GeoServer和OpenLayers技术以及开发方案,搭建出环卫网络管理系统的整体架构,并论述系统在环卫行业中的具体应用。
地理信息系统;市容环卫行业;GeoServer;OpenLayers
1 GeoServer简介
GeoServer可以发布地图服务,即通过发布地图数据来实现地图访问的开源服务器。GeoServer发布的地图服务,可以实现对地理信息数据的查看、更新、编辑、删除、插入操作,并方便用户实现快速共享空间地理信息。
GeoServer是基于Java语言进行开发的,遵循OGC(开放地理空间信息联盟)标准的开源WMS、WFS和WFS-T服务。WMS服务是GeoServer把数据作为地图或影像图来发布;WFS服务是GeoServer把数据作为GML编码直接返回到客户端;WFS-T服务为GeoServer提供了修改、删除和新增的功能[1]。GeoServer能够运行在基于Java的Web容器中,例如Tomcat和GlassFish。GeoServer支持多种源数据格式,包括PostGis、ArcSDE、Oracle、ShapeFile、MySQL、MapInfo等格式;并且能够将地图输出为GIF、GeoRss、JPEG、PDF、PNG、SVG、 TIFF等格式。
2 OpenLayers简介
GeoServer发布地图服务后,一套完整的地图服务还需要客户端的配合[2],OpenLayers是一个非常好的选择。OpenLayers是专为Web GIS客户端提供的JavaScript类库包,可实现对GeoServer发布的地图数据的访问。OpenLayers除了可以实现地图浏览的基本操作,诸如图层的放大、缩小和平移外,还可实现点选、选段选择、多边形选择以及图层叠加等不同的操作,同时OpenLayers具有Ajax局部页面刷新功能,实现丰富的用户体验。
OpenLayers采用面向对象方式开发,其类库包中提供了非常丰富的类,包括控制地图显示或行为的Control类;将地理位置和属性相结合的特征类Feature等。OpenLayers还支持符合OGC标准的WMS(Web Mapping Service)和WFS(Web Feature Service)等服务。通过WMS调用GeoServer发布的地图数据加载到基于浏览器的客户端中进行显示;通过WFS调用要素级的地理标记语言,并提供对地理要素的增加、修改和删除等事务操作。
3 环卫网络管理系统开发实现
3.1环卫网络管理系统整体架构
环卫网络管理系统采用B/S结构进行开发,整体分为3层,数据层、控制层和表现层,见图1。
图1 环卫网络管理系统整体架构
数据层采用PostgreSQL存储关系数据,空间数据则存储在PostgreSQL的一个空间扩展PostGIS中。地图数据源文件ShapeFile源文件可以发布到GeoServer中,也可以运用QGIS将ShapeFile导入到PostGIS中再进行发布。
控制层中采用Web服务器Tomcat,环卫网络管理系统的主要功能和业务逻辑都在该层中实现。GeoServer地图服务器也部署在此Web服务器中。环卫网络管理系统采用SSH框架进行开发。
表现层由JSP和OpenLayers脚本语言共同实现,OpenLayers对用户发起的请求进行处理,包括调用地图服务,返回请求数据,实现各种操作。
3.2发布地图服务
研究某城市市容环卫行业中的业务数据,需要以该地区电子地图为依托。目前,百度、谷歌、天地图等都提供了免费的矢量电子地图和影像图供开发者使用;也可以从网上下载shp文件,自行发布地图服务。环卫网络管理采用自行发布地图服务,其shp文件从网上下载,并存储在空间数据库PostGIS中。
1)shp文件导入空间数据库。从官网下载PostgreSQL及其扩展PostGIS并安装。利用QGIS软件导入数据库功能将数据导入到PostGIS中。
2)安装JDK。由于GeoServer是基于Java语言开发实现的,所以服务器上必须按照Java语言开发工具包JDK,并配置环境变量。
3)安装Web服务器Tomcat。进入Tomcat官网下载并安装Tomcat Web服务器。安装完成后,可通过http://localhost:8080/访问Tomcat主页。
4)发布GeoServer服务。进入GeoServer官网下载最新开发版本,并将下载的WAR文件部署到Tomcat服务器中去,就可以通过http://localhost/GeoServer/web/访问GeoServer的首页。账号默认为admin,密码默认为GeoServer。GeoServer首页如图2所示。
图2 GeoServer首页
部署完成后,可以发布地图服务。登录GeoServer,点击页面左侧的Workspaces,为地图服务创建工作空间;点击Stores,创建数据源的存储空间,数据源选择PostGIS Database;选择数据源之后,就可以发布地图图层,点击Layers,选择已创建的数据源,就可以逐个发布空间数据库中的图层。
4 环卫网络管理系统应用
4.1创建环卫行业的专业图层
市容环卫行业中的专业数据包括市容环境卫生管理和规划以及环卫设备,具体包括公厕、转运站、班队点、除雪设施、公共绿地、道路信息和车辆信息等各项数据。对于这些专业数据,如果已有对应的shp文件,则可以直接导入到PostGIS空间数据库中;如果没有,则可以利用QGIS软件新建点、线、面层数据,并加入专业数据信息。如图3新创建的公厕点层。
图3 新创建的公厕点层
4.2设置环卫设施专用图标
在市容环卫设施管理中,各个设施都有专用图标,因此,在地图中设置各个环卫设施的专用图标可以给环卫管理人员带来极大的方便。uDig可以根据不同的环卫设施设置不同的图标,并将生成的样式文件应用在相应的设施图层上。环卫网络管理系统设置使用外部图标非常简单,如设置垃圾转运站的专用图标,只需要在图层样式文件中加入如图4中的样式设置,即可实现。
图4 样式表中设置专用图标
将设置好的样式文件应用到垃圾转运站图层上,可以看到奉化道垃圾转运站的专用图标已显示在地图上,如图5所示。
图5 垃圾转运站专用图标
4.3实现基础操作
环卫网络管理系统实现的基础操作,包括对市容环卫数据的增加、修改、删除、查询(见图6)、统计、报表生成和数据导出等操作。
图6 查询结果示意
环卫网络管理系统所做实验的基础数据是收集天津市市容环卫行业中的业务数据,经过人工绘制地图图层,并录入相关信息而成的。但是由于市容环卫行业的特点,环卫管理和环卫设施的基础数据可能会随时发生变化,因此环卫网络管理系统实现对环卫数据的增、删、改、查功能可以极大地方便环卫部门的管理人员。另外,管理人员可以直接从地图上对某一地区或环卫设备进行查询,直接定位到地图中央并查看其具体信息;还可以实现各种类型的统计和报表的生成,最后导出到本地计算机中。
环卫网络管理系统实现了对垃圾转运站的查询功能,可以只根据输入的关键字进行查询,也可以先选择某一区再输入关键字查询,还可以实现不规则多边形的查询。图6中展示了只根据关键字查询的功能,选择不限按钮,再输入查询关键字,环卫网络管理系统可快速查询出所输入的垃圾转运站,在地图上放置大头针标注其位置,并将其定位到屏幕中央。点击该垃圾转运站可查看其具体信息。
4.4生成专题地图
专题地图可以生成与某一主题相关的、重点突出某一种或几种空间要素的地图。对于市容环卫行业管理人员来说,有时需要将某一环卫信息以专题图的形式展示,这样可以更直观快捷地进行管理。环卫网络管理系统可以生成居民区人口分布专题图、绿地分布专题图(见图7)、道路扫保作业区划界限专题图、环境卫生考核四至范围专题图等。
图7 绿地分布专题图
4.5空间分析
环卫网络管理系统可以实现诸如测距、测面积、最短路径查询、缓冲区分析等空间分析功能。
最短路径查询可实现计算最佳垃圾清运路线,只需要标出垃圾堆放点和垃圾收集站的位置,环卫网络管理系统就可以计算出两点之间的最佳清运路线,并显示其相关信息。最佳垃圾清运路线可为管理者及时作出最优的工作安排和计划。
缓冲区分析可以对某一环卫设施的邻近度进行分析,邻近度即地理空间中2个地物距离相近的程度。例如可以对公厕进行缓冲区分析,分析某一地区公厕作用范围能否覆盖附近居民。
[1]Geoserver&OpenLayers学习笔记[EB/OL].[2013-07-19].http: //blog.csdn.net/hsg77/article/details/9382853.
[2]蒋佩玲,苗放,张峻骁.基于GeoServer和OpenLayers的WebGist实现[J].甘肃科技,2009(22):33-34.
Application of GIS in Environmental Sanitation Industry by Using GeoServer and OpenLayers
Shen Xiaoxiao,Sun Qian
(Tianjin Environmental Sanitation Engineering Design Institute,Tianjin300201)
By using open source software GeoServer and OpenLayers,the geographic information system relating to environmental sanitation industry was established and the intuitive visualization of geographic information display and management was realized.The paper also introduced GeoServer,OpenLayers and development schemes,built the overall framework of environmental sanitation network management system,and discussed the specific applications in environmental sanitation industry.
geographic information system(GIS);environmental sanitation industry;GeoServer;OpenLayers
X705;P208.2
B
1005-8206(2016)03-0075-03
申晓晓(1987—),助理工程师,主要从事计算机软件的应用和开发。
2015-12-04