申曉曉,孫 倩
(天津市環境衛生工程設計院,天津300201)
基于GeoServer和OpenLayers技術的地理信息系統在市容環衛行業中的應用
申曉曉,孫倩
(天津市環境衛生工程設計院,天津300201)
運用開源軟件GeoServer和OpenLayers技術,建立與市容環衛行業相關的地理信息系統,實現直觀可視化的地理信息展示和管理。介紹了GeoServer和OpenLayers技術以及開發方案,搭建出環衛網絡管理系統的整體架構,并論述系統在環衛行業中的具體應用。
地理信息系統;市容環衛行業;GeoServer;OpenLayers
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等格式。
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.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.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