申曉曉,孫 倩
(天津市環(huán)境衛(wèi)生工程設計院,天津300201)
基于GeoServer和OpenLayers技術的地理信息系統(tǒng)在市容環(huán)衛(wèi)行業(yè)中的應用
申曉曉,孫倩
(天津市環(huán)境衛(wèi)生工程設計院,天津300201)
運用開源軟件GeoServer和OpenLayers技術,建立與市容環(huán)衛(wèi)行業(yè)相關的地理信息系統(tǒng),實現(xiàn)直觀可視化的地理信息展示和管理。介紹了GeoServer和OpenLayers技術以及開發(fā)方案,搭建出環(huán)衛(wèi)網(wǎng)絡管理系統(tǒng)的整體架構,并論述系統(tǒng)在環(huán)衛(wèi)行業(yè)中的具體應用。
地理信息系統(tǒng);市容環(huán)衛(wèi)行業(yè);GeoServer;OpenLayers
GeoServer可以發(fā)布地圖服務,即通過發(fā)布地圖數(shù)據(jù)來實現(xiàn)地圖訪問的開源服務器。GeoServer發(fā)布的地圖服務,可以實現(xiàn)對地理信息數(shù)據(jù)的查看、更新、編輯、刪除、插入操作,并方便用戶實現(xiàn)快速共享空間地理信息。
GeoServer是基于Java語言進行開發(fā)的,遵循OGC(開放地理空間信息聯(lián)盟)標準的開源WMS、WFS和WFS-T服務。WMS服務是GeoServer把數(shù)據(jù)作為地圖或影像圖來發(fā)布;WFS服務是GeoServer把數(shù)據(jù)作為GML編碼直接返回到客戶端;WFS-T服務為GeoServer提供了修改、刪除和新增的功能[1]。GeoServer能夠運行在基于Java的Web容器中,例如Tomcat和GlassFish。GeoServer支持多種源數(shù)據(jù)格式,包括PostGis、ArcSDE、Oracle、ShapeFile、MySQL、MapInfo等格式;并且能夠將地圖輸出為GIF、GeoRss、JPEG、PDF、PNG、SVG、 TIFF等格式。
GeoServer發(fā)布地圖服務后,一套完整的地圖服務還需要客戶端的配合[2],OpenLayers是一個非常好的選擇。OpenLayers是專為Web GIS客戶端提供的JavaScript類庫包,可實現(xiàn)對GeoServer發(fā)布的地圖數(shù)據(jù)的訪問。OpenLayers除了可以實現(xiàn)地圖瀏覽的基本操作,諸如圖層的放大、縮小和平移外,還可實現(xiàn)點選、選段選擇、多邊形選擇以及圖層疊加等不同的操作,同時OpenLayers具有Ajax局部頁面刷新功能,實現(xiàn)豐富的用戶體驗。
OpenLayers采用面向對象方式開發(fā),其類庫包中提供了非常豐富的類,包括控制地圖顯示或行為的Control類;將地理位置和屬性相結合的特征類Feature等。OpenLayers還支持符合OGC標準的WMS(Web Mapping Service)和WFS(Web Feature Service)等服務。通過WMS調(diào)用GeoServer發(fā)布的地圖數(shù)據(jù)加載到基于瀏覽器的客戶端中進行顯示;通過WFS調(diào)用要素級的地理標記語言,并提供對地理要素的增加、修改和刪除等事務操作。
3.1環(huán)衛(wèi)網(wǎng)絡管理系統(tǒng)整體架構
環(huán)衛(wèi)網(wǎng)絡管理系統(tǒng)采用B/S結構進行開發(fā),整體分為3層,數(shù)據(jù)層、控制層和表現(xiàn)層,見圖1。
圖1 環(huán)衛(wèi)網(wǎng)絡管理系統(tǒng)整體架構
數(shù)據(jù)層采用PostgreSQL存儲關系數(shù)據(jù),空間數(shù)據(jù)則存儲在PostgreSQL的一個空間擴展PostGIS中。地圖數(shù)據(jù)源文件ShapeFile源文件可以發(fā)布到GeoServer中,也可以運用QGIS將ShapeFile導入到PostGIS中再進行發(fā)布。
控制層中采用Web服務器Tomcat,環(huán)衛(wèi)網(wǎng)絡管理系統(tǒng)的主要功能和業(yè)務邏輯都在該層中實現(xiàn)。GeoServer地圖服務器也部署在此Web服務器中。環(huán)衛(wèi)網(wǎng)絡管理系統(tǒng)采用SSH框架進行開發(fā)。
表現(xiàn)層由JSP和OpenLayers腳本語言共同實現(xiàn),OpenLayers對用戶發(fā)起的請求進行處理,包括調(diào)用地圖服務,返回請求數(shù)據(jù),實現(xiàn)各種操作。
3.2發(fā)布地圖服務
研究某城市市容環(huán)衛(wèi)行業(yè)中的業(yè)務數(shù)據(jù),需要以該地區(qū)電子地圖為依托。目前,百度、谷歌、天地圖等都提供了免費的矢量電子地圖和影像圖供開發(fā)者使用;也可以從網(wǎng)上下載shp文件,自行發(fā)布地圖服務。環(huán)衛(wèi)網(wǎng)絡管理采用自行發(fā)布地圖服務,其shp文件從網(wǎng)上下載,并存儲在空間數(shù)據(jù)庫PostGIS中。
1)shp文件導入空間數(shù)據(jù)庫。從官網(wǎng)下載PostgreSQL及其擴展PostGIS并安裝。利用QGIS軟件導入數(shù)據(jù)庫功能將數(shù)據(jù)導入到PostGIS中。
2)安裝JDK。由于GeoServer是基于Java語言開發(fā)實現(xiàn)的,所以服務器上必須按照Java語言開發(fā)工具包JDK,并配置環(huán)境變量。
3)安裝Web服務器Tomcat。進入Tomcat官網(wǎng)下載并安裝Tomcat Web服務器。安裝完成后,可通過http://localhost:8080/訪問Tomcat主頁。
4)發(fā)布GeoServer服務。進入GeoServer官網(wǎng)下載最新開發(fā)版本,并將下載的WAR文件部署到Tomcat服務器中去,就可以通過http://localhost/GeoServer/web/訪問GeoServer的首頁。賬號默認為admin,密碼默認為GeoServer。GeoServer首頁如圖2所示。
圖2 GeoServer首頁
部署完成后,可以發(fā)布地圖服務。登錄GeoServer,點擊頁面左側的Workspaces,為地圖服務創(chuàng)建工作空間;點擊Stores,創(chuàng)建數(shù)據(jù)源的存儲空間,數(shù)據(jù)源選擇PostGIS Database;選擇數(shù)據(jù)源之后,就可以發(fā)布地圖圖層,點擊Layers,選擇已創(chuàng)建的數(shù)據(jù)源,就可以逐個發(fā)布空間數(shù)據(jù)庫中的圖層。
4.1創(chuàng)建環(huán)衛(wèi)行業(yè)的專業(yè)圖層
市容環(huán)衛(wèi)行業(yè)中的專業(yè)數(shù)據(jù)包括市容環(huán)境衛(wèi)生管理和規(guī)劃以及環(huán)衛(wèi)設備,具體包括公廁、轉運站、班隊點、除雪設施、公共綠地、道路信息和車輛信息等各項數(shù)據(jù)。對于這些專業(yè)數(shù)據(jù),如果已有對應的shp文件,則可以直接導入到PostGIS空間數(shù)據(jù)庫中;如果沒有,則可以利用QGIS軟件新建點、線、面層數(shù)據(jù),并加入專業(yè)數(shù)據(jù)信息。如圖3新創(chuàng)建的公廁點層。
圖3 新創(chuàng)建的公廁點層
4.2設置環(huán)衛(wèi)設施專用圖標
在市容環(huán)衛(wèi)設施管理中,各個設施都有專用圖標,因此,在地圖中設置各個環(huán)衛(wèi)設施的專用圖標可以給環(huán)衛(wèi)管理人員帶來極大的方便。uDig可以根據(jù)不同的環(huán)衛(wèi)設施設置不同的圖標,并將生成的樣式文件應用在相應的設施圖層上。環(huán)衛(wèi)網(wǎng)絡管理系統(tǒng)設置使用外部圖標非常簡單,如設置垃圾轉運站的專用圖標,只需要在圖層樣式文件中加入如圖4中的樣式設置,即可實現(xiàn)。
圖4 樣式表中設置專用圖標
將設置好的樣式文件應用到垃圾轉運站圖層上,可以看到奉化道垃圾轉運站的專用圖標已顯示在地圖上,如圖5所示。
圖5 垃圾轉運站專用圖標
4.3實現(xiàn)基礎操作
環(huán)衛(wèi)網(wǎng)絡管理系統(tǒng)實現(xiàn)的基礎操作,包括對市容環(huán)衛(wèi)數(shù)據(jù)的增加、修改、刪除、查詢(見圖6)、統(tǒng)計、報表生成和數(shù)據(jù)導出等操作。
圖6 查詢結果示意
環(huán)衛(wèi)網(wǎng)絡管理系統(tǒng)所做實驗的基礎數(shù)據(jù)是收集天津市市容環(huán)衛(wèi)行業(yè)中的業(yè)務數(shù)據(jù),經(jīng)過人工繪制地圖圖層,并錄入相關信息而成的。但是由于市容環(huán)衛(wèi)行業(yè)的特點,環(huán)衛(wèi)管理和環(huán)衛(wèi)設施的基礎數(shù)據(jù)可能會隨時發(fā)生變化,因此環(huán)衛(wèi)網(wǎng)絡管理系統(tǒng)實現(xiàn)對環(huán)衛(wèi)數(shù)據(jù)的增、刪、改、查功能可以極大地方便環(huán)衛(wèi)部門的管理人員。另外,管理人員可以直接從地圖上對某一地區(qū)或環(huán)衛(wèi)設備進行查詢,直接定位到地圖中央并查看其具體信息;還可以實現(xiàn)各種類型的統(tǒng)計和報表的生成,最后導出到本地計算機中。
環(huán)衛(wèi)網(wǎng)絡管理系統(tǒng)實現(xiàn)了對垃圾轉運站的查詢功能,可以只根據(jù)輸入的關鍵字進行查詢,也可以先選擇某一區(qū)再輸入關鍵字查詢,還可以實現(xiàn)不規(guī)則多邊形的查詢。圖6中展示了只根據(jù)關鍵字查詢的功能,選擇不限按鈕,再輸入查詢關鍵字,環(huán)衛(wèi)網(wǎng)絡管理系統(tǒng)可快速查詢出所輸入的垃圾轉運站,在地圖上放置大頭針標注其位置,并將其定位到屏幕中央。點擊該垃圾轉運站可查看其具體信息。
4.4生成專題地圖
專題地圖可以生成與某一主題相關的、重點突出某一種或幾種空間要素的地圖。對于市容環(huán)衛(wèi)行業(yè)管理人員來說,有時需要將某一環(huán)衛(wèi)信息以專題圖的形式展示,這樣可以更直觀快捷地進行管理。環(huán)衛(wèi)網(wǎng)絡管理系統(tǒng)可以生成居民區(qū)人口分布專題圖、綠地分布專題圖(見圖7)、道路掃保作業(yè)區(qū)劃界限專題圖、環(huán)境衛(wèi)生考核四至范圍專題圖等。
圖7 綠地分布專題圖
4.5空間分析
環(huán)衛(wèi)網(wǎng)絡管理系統(tǒng)可以實現(xiàn)諸如測距、測面積、最短路徑查詢、緩沖區(qū)分析等空間分析功能。
最短路徑查詢可實現(xiàn)計算最佳垃圾清運路線,只需要標出垃圾堆放點和垃圾收集站的位置,環(huán)衛(wèi)網(wǎng)絡管理系統(tǒng)就可以計算出兩點之間的最佳清運路線,并顯示其相關信息。最佳垃圾清運路線可為管理者及時作出最優(yōu)的工作安排和計劃。
緩沖區(qū)分析可以對某一環(huán)衛(wèi)設施的鄰近度進行分析,鄰近度即地理空間中2個地物距離相近的程度。例如可以對公廁進行緩沖區(qū)分析,分析某一地區(qū)公廁作用范圍能否覆蓋附近居民。
[1]Geoserver&OpenLayers學習筆記[EB/OL].[2013-07-19].http: //blog.csdn.net/hsg77/article/details/9382853.
[2]蔣佩玲,苗放,張峻驍.基于GeoServer和OpenLayers的WebGist實現(xiàn)[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—),助理工程師,主要從事計算機軟件的應用和開發(fā)。
2015-12-04