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