張 浡 陶申澳 周述鵬 高演辰
(西北農林科技大學,陜西咸陽 712100)
地理信息系統(GIS)是一個以計算機為基礎的管理和研究空間數據的技術系統。Web GIS指基于Internet平臺進行地理信息發布、數據共享、交流協作,是運行于Internet的地理信息系統。
經濟人口的增長和城市化進程的加快,使得垃圾產量快速增長,也使我國面臨著“垃圾圍城”的問題。當前推行的垃圾分類制度,關系到我國的生活垃圾是否能夠實現減量化、資源化和無害化。我國的北京市、上海市、西安市等城市已經分別進行了垃圾分類工作的推廣,但就目前來看,各大城市的社區垃圾分類卻普遍存在垃圾投放點數量設置不合理、定時投放時長設置不科學、志愿者招募信息傳播性不強等投放監督未實現常態化的問題。應用于垃圾分類的Web系統較多,但多數輔助系統更多著眼于如何輔助將生活垃圾分成相應類別的具體環節,少有關注社區管理人員與志愿者在生活垃圾分類中起到的重要作用。
本文針對西安市社區垃圾分類過程中有待提升的問題,通過借鑒上海垃圾分類實施方案中“生活垃圾定時定點分類投放”和志愿者于投放點指導分類的方法,嘗試構建基于Web GIS平臺的西安市社區垃圾分類輔助系統,一方面,利用已有的數據構建合適的垃圾預測模型,智能化輔助決策社區垃圾投放點數量;另一方面,基于Web GIS的平臺簡化社區招募垃圾分類志愿者的相關流程,提高社區垃圾分類的監督效率。
基于Web GIS平臺的西安市社區垃圾分類輔助系統采用客戶機/服務器端(C/S)結構。
該系統的客戶端采用HTML(超文本標記語言)、CSS(層疊樣式表)和JavaScript(網絡腳本語言)分別編寫網頁的內容、樣式和動作行為,逐次實現從系統的UI設計,到框架搭建、功能模塊制作,最后到界面的合成美化。
本系統的地圖服務開發使用ArcGIS API for JavaScript技術,通過JavaScript將ArcGIS Server提供的地圖資源和其他資源(如ArcGIS Online)嵌入Web應用[1]。根據系統需要在底圖上實現定位、平移、放縮、查詢等基本功能。還可以使用ArcGIS API for JavaScript技術調用ArcGIS Server提供的地理處理服務(Geoprocessing Service),將ArcGIS提供的豐富的工具和數據按照一定順序串聯[2],結合系統的志愿者匹配相關的技術路線,為社區的管理員和志愿者提供最優的匹配方案。
系統總體設計如圖1所示。

圖1 系統總體設計
Web服務器端是溝通用戶與數據庫之間的橋梁。本系統后端采用的主要技術有JSP、Servlet、Ajax等。基于服務器端的網絡GIS體系結構,也稱為胖服務器/瘦客戶機的網絡GIS,其主要功能在服務器端實現,客戶機的瀏覽器主要是發送請求和顯示結果。
執行過程可分為四步:
(1)用戶通過本機的瀏覽器發出請求從Internet發送給服務器端。
(2)服務器端收到請求,對接受的參數進行分析再通過讀取數據庫獲得相應的數據并處理請求。
(3)分析處理包含地圖的網頁頁面,并發送給客戶端生成結果。
(4)客戶端的瀏覽器顯示最終分析處理后的網頁頁面,將結果展示給客戶[3]。
基于Web GIS平臺的西安市社區垃圾分類輔助系統按照功能可分為注冊登錄、數據預測、志愿者匹配、地圖顯示、互動交流五大模塊。針對不同的功能模塊進行設計,確保各個塊完成各自功能,也能夠互相調用,形成一個功能完整協調的信息系統。
前臺Web頁面采用JSP技術實現。JSP是基于Java Servlet及整個Java體系的Web開發技術,可以構建安全的、跨平臺的動態Web站點,同時JSP具有Java語言的優勢“一次編寫,各處運行”,能夠滿足系統的需求[4]。用戶注冊時,通過瀏覽器調用部署于服務器的JSP腳本,服務器獲取請求信息之后解析相應的注冊信息,并通過JDBC技術調用SQL語言對數據庫進行相應的存儲操作,將用戶的注冊信息存儲到相應的表格中。用戶登錄時,通過JSP技術可以分別針對不同類別的用戶顯示不同的頁面。
系統功能設計如圖2所示。

圖2 系統功能設計
依照2010~2019年西安市統計年鑒提供的原型數據的主要特征,通過模型與原型數據的相似關系建立數學模型。選用了時間序列、回歸分析、灰色預測、馬爾科夫等不同的預測模型,對年鑒數據進行數據處理,將通過模型運算社區垃圾清理量的理論結果與在社區實地采集的數據進行比較、檢驗分析和精度測算,在每個基礎模型模塊中選取預測標準誤差最小的預測數據作為單元模塊數據。再選取權重歸一化的方式對模型進行進一步的優化處理,選用4種模型的最佳權重配比進行垃圾數量預測。在Web前端中,將數據預測模型的邏輯運算通過JavaScript技術實現,無須前后端的數據交互,在用戶界面可以快速高效地獲取結果。例如,社區管理人員在界面指定位置輸入本社區住戶數量等信息,通過計算模型,可以得出建議擺放的各類垃圾桶數量、建議垃圾投放時長、志愿者需求數量結果。
社區管理員更新志愿者實際需求量后,系統的Web服務器依托Servlet技術和JDBC技術將數據存儲到數據庫中。系統的空間分析功能依托ArcGIS API for JavaScript技術,結合社區的空間位置、志愿者實際需求量,將志愿者需求量線性轉換為距離,作為點緩沖區的半徑。獲取志愿者的位置信息后,通過幾何分析調用Esri在sampleserver6.arcgisonline.com上提供的幾何服務,獲取志愿者距離各個圓形緩沖區的直線距離,并以此參數為排序依據,為志愿者推薦距離較近、需求量較大的社區志愿服務地點,達到合理分配各個社區的志愿者數量的目的。
志愿者還可以通過系統查看志愿服務地點的推薦路線,系統后臺通過調用ArcGIS Server指定路由提供的Route Task方法即可實現相關功能。
地圖網絡服務是海量的地理空間數據,以分布式存儲、服務集中管理的方式,通過服務器存儲、管理、發布以及更新。基于客戶端,用戶能夠在不受空間與時間的限制的情況下,實現對地理空間數據的在線游覽、搜索分析、處理、下載,并以動態或緩存的方式顯示[5]。基于Web GIS平臺的西安市社區垃圾分類輔助系統的底圖通過ArcGIS Server整合了ArcGIS Online的公開資源,在此底圖上添加社區圖層,對各社區垃圾分類回收點進行標注。地圖顯示模塊還可以依托ArcGIS API for JavaScript技術,將社區的志愿者需求量緩沖區、推薦路線等空間分析處理后的數據渲染地圖的圖層中,增強相關信息的可視化表達。
系統通過Servlet技術和Java EE技術,為志愿者和社區管理員設計并制作了可以進行留言交流的平臺。用戶的留言信息由SQL 數據庫存儲管理,并且與空間位置綁定,用戶通過創建空間信息標識點來創建和提交評論,留言功能為用戶提供了信息反饋的窗口[6]。志愿者可以通過留言的方式向社區管理員就志愿服務細節問題進行詢問,并線上提交申請;社區管理員回答志愿者的疑問,在線審核申請者信息,線上錄用。志愿服務完成后,社區管理員通過系統上傳志愿者的服務時長等信息。
隨著城市的發展,我國各大中心城市的垃圾分類問題愈發突出,解決垃圾分類過程中出現的問題十分必要。Web GIS能夠將空間分析與可視化表達集成到Web應用中,對于解決城市的垃圾分類問題具有突出優勢。目前諸多輔助系統缺乏對實際問題的調查與分析,難以被城市管理機構采納。基于Web GIS平臺的西安市社區垃圾分類輔助系統從實際問題展開功能設計,將分散的數據結合到空間信息中,借助互聯網進行數據交互,高效簡潔地實現了一系列輔助功能。