陳坤 逯躍鋒 王少渤 聞俏 劉聰
摘 要:本文基于營山縣農(nóng)村公路、路網(wǎng)等交通基礎設施數(shù)據(jù)、遙感影像等數(shù)據(jù),結(jié)合WebGIS技術(shù),設計開發(fā)了營山縣農(nóng)村公路基礎數(shù)據(jù)管理系統(tǒng),系統(tǒng)實現(xiàn)了高速可視化展示、快速空間搜索定位、屬性查詢、數(shù)據(jù)統(tǒng)計分析與定位、行政區(qū)劃定位、地圖輸出等功能。直觀的展示了營山縣的農(nóng)村公路建設成果,為后續(xù)的農(nóng)村公路建設與規(guī)劃提供了支持。
關(guān)鍵詞:WebGIS;農(nóng)村公路;數(shù)據(jù)管理
Abstract:This paper designs and develops a basic data management system for rural roads in Yingshan County based on data from Yingshan County s rural roads,road networks and other transportation infrastructure data,remote sensing images,and WebGIS technology.The system implements high-speed visual display,fast spatial search positioning,Attribute query,data statistical analysis and positioning,administrative division positioning,map output and other functions.Intuitively demonstrated the achievements of rural road construction in Yingshan County,and provided support for subsequent rural road construction and planning.
Key words:WebGIS;Rural Road;Data Management
1 緒論
自十八大以來,四川省在交通運輸部的大力支持下,開展了“四好農(nóng)村路”的建設工作,全力攻堅克難[1]。隨著四川省農(nóng)村公路建設工作的全面開展,全省的農(nóng)村公路建設工作取得了顯著的效果。全省的建制村、村民組通硬化路基本完成。隨著農(nóng)村公路建設工作開展的規(guī)模越來越大,如何對農(nóng)村公路等基礎交通數(shù)據(jù)進行管理成了一個亟需解決的問題。簡單的人工現(xiàn)場核查與地方上報無法準確掌握整體的建設工作成果。因此本文以四川省營山縣為例,基于農(nóng)村公路、路網(wǎng)等路線數(shù)據(jù)、建制村、村民組等點位數(shù)據(jù)、橋梁、產(chǎn)業(yè)園等基礎設施數(shù)據(jù),結(jié)合WebGIS技術(shù)、HTML、CSS、JavaScript等前端開發(fā)語言,Spring Boot后端框架開發(fā)出基于WebGIS的四川省營山縣農(nóng)村公路管理系統(tǒng),實現(xiàn)對營山縣的農(nóng)村公路等基礎數(shù)據(jù)的展示與管理。配合高分辨率的遙感影像直觀的展示營山縣農(nóng)村公路的建設成果。
2 關(guān)鍵技術(shù)
2.1 WebGIS技術(shù)
WebGIS的中文名稱叫做萬維網(wǎng)地理信息系統(tǒng),同時也被稱作為網(wǎng)絡地理信息系統(tǒng)[2]。通俗來說,WebGIS就是運行在Web瀏覽器上的GIS系統(tǒng),用戶可以通過瀏覽器對GIS空間數(shù)據(jù)進行一系列的操作,包括對數(shù)據(jù)進行處理、查詢檢索、空間分析、可視化展示等操作[3-4]。WebGIS系統(tǒng)主要采用B/S架構(gòu)[5-6],如圖1所示??蛻舳酥竁eb界面,承擔著可視化的作用。服務器端通常是指ArcGIS Server這種由ArcGIS提供的服務器,在后臺以連接數(shù)據(jù)庫的形式,負責數(shù)據(jù)的動態(tài)存儲和修改。用戶通過Web界面的操作,將請求發(fā)送到服務器端,服務器端通過HTTP協(xié)議接收到請求后,對請求進行分析,然后根據(jù)請求的需求訪問相應的數(shù)據(jù)庫,最后將請求的處理結(jié)果返回到客戶端的Web界面。
2.2 ArcGIS API for JavaScript
ArcGIS API for Javascript是基于Dojo框架和REST實現(xiàn)的一套編程接口[7]。開發(fā)人員通過調(diào)用REST接口便能夠與ArcGIS for Server發(fā)布的數(shù)據(jù)服務進行交互。ArcGIS在其官網(wǎng)提供了各個版本的API文檔和示例,其API文檔具有可讀性強的優(yōu)點,官網(wǎng)提供的示例對API的使用提供了詳細的說明。開發(fā)者僅需在代碼中中引入ArcGIS API for JavaScript框架,通過調(diào)用API中的方法,便可以實現(xiàn)空間數(shù)據(jù)展示、圖形繪制、符號渲染、查詢檢索、地理處理、影像處理等功能。
3 系統(tǒng)設計
3.1 系統(tǒng)架構(gòu)設計
系統(tǒng)采用B/S架構(gòu)模式,總體架構(gòu)如圖2所示,包括應用層、服務層與數(shù)據(jù)層三個部分。各部分功能分別為:(1)應用層是系統(tǒng)的功能實現(xiàn)層,為系統(tǒng)用戶提供操作界面,用戶通過相應的操作,發(fā)送請求,并將請求結(jié)果在Web界面中展示。(2)服務層也被稱為應用組件層,起到連接數(shù)據(jù)庫與服務層的作用,提供系統(tǒng)功能用到的服務,為應用層提供服務支撐。(3)數(shù)據(jù)層對整個系統(tǒng)起到支撐的作用,對數(shù)據(jù)進行管理與存儲。該層由空間數(shù)據(jù)庫與屬性數(shù)據(jù)庫兩部分組成,為系統(tǒng)提供數(shù)據(jù)支撐。
3.2 數(shù)據(jù)庫設計
根據(jù)系統(tǒng)業(yè)務要求,按照命名規(guī)范、最小冗余、安全性等原則進行數(shù)據(jù)庫的建設工作[8]。當前常用的數(shù)據(jù)庫有Oracle、MySQL、SQL Server,通過對比,SQL Server作為一個完全Web支持的平臺,其在數(shù)據(jù)管理和分析方面有著較大的優(yōu)勢。因此采用SQL Server作為本系統(tǒng)的數(shù)據(jù)庫。數(shù)據(jù)庫框架如圖3所示:
(1)空間數(shù)據(jù)庫:專門用來存儲地理信息數(shù)據(jù),包括路線數(shù)據(jù)、點位數(shù)據(jù)、基礎設施數(shù)據(jù)等。
(2)屬性數(shù)據(jù)庫:屬性數(shù)據(jù)包括系統(tǒng)管理數(shù)據(jù)與地理信息數(shù)據(jù)的屬性信息。
3.3 系統(tǒng)功能設計
根據(jù)管理系統(tǒng)的需求,本文將系統(tǒng)功能設計為五大模塊,分別為:(1)高速可視化展示瀏覽模塊,用戶可以進行圖層加載、底圖選擇、平移、放大等操作。(2)快速搜索定位模塊,用戶通過選擇查詢圖層與關(guān)鍵字類型,輸入查詢關(guān)鍵字,如路線編碼、路線名稱等,實現(xiàn)快速搜索并定位高亮。(3)行政區(qū)劃定位,用戶通過點擊全縣的行政區(qū)劃,包括鄉(xiāng)鎮(zhèn)與建制村,系統(tǒng)進行定位到該區(qū)域。(4)基礎地圖操作模塊,用戶通過對地圖操作,實現(xiàn)量測、拉框查詢、地圖輸出等功能。(5)數(shù)據(jù)統(tǒng)計與定位模塊,用戶通過行政區(qū)劃選擇要統(tǒng)計的區(qū)域,以表格的形式展現(xiàn)該區(qū)域所有的交通設施數(shù)據(jù),并且能夠?qū)δ骋痪唧w數(shù)據(jù)實現(xiàn)定位高亮功能。
4 系統(tǒng)實現(xiàn)
本文根據(jù)實際的業(yè)務需求,設計了系統(tǒng)的整體框架,采用SQL Server 2014數(shù)據(jù)庫,使用IntelliJ IDEA 2018.1.6作為開發(fā)平臺,系統(tǒng)前端以HTML+CSS+JavaScript的開發(fā)模式,結(jié)合ArcGIS API for JavaScript進行地圖交互功能開發(fā),并使用Layui框架進行數(shù)據(jù)的可視化表達。后臺采用Spring Boot框架實現(xiàn)與前端系統(tǒng)的通信,利用ArcGIS for Server進行地圖服務的發(fā)布。基于以上開發(fā)語言與技術(shù),實現(xiàn)了基于WebGIS的營山縣農(nóng)村公路基礎數(shù)據(jù)管理系統(tǒng)的開發(fā)。系統(tǒng)主頁如圖4所示:
系統(tǒng)功能。(1)高速可視化展示瀏覽模塊。該模塊主要是對系統(tǒng)的數(shù)據(jù)服務進行疊加展示,用戶可以點擊左側(cè)圖例,進行數(shù)據(jù)服務中某一圖層的加載,同時用戶還可以切換底圖,底圖包括天地圖在線路網(wǎng)、在線影像、在線地形、注記等。同時可以對地圖進行拖拽、漫游、放大縮小等操作。
(2)快速空間搜索定位模塊。該模塊只要是對數(shù)據(jù)服務進行快速搜索定位,用戶可以對系統(tǒng)所有的圖層進行搜索定位,首選需要選擇搜索圖層,然后選擇搜索關(guān)鍵字類別,如路線名稱、路段編碼、路線編碼等,然后輸入關(guān)鍵字,通過模糊查詢實現(xiàn)對要素的快速定位,將該要素高亮顯示并縮放到視圖中央。
(3)行政區(qū)劃定位模塊。該模塊主要是實現(xiàn)全縣行政區(qū)域的定位,通過點擊上方的營山縣,會出現(xiàn)全縣的行政區(qū)劃,包括鄉(xiāng)鎮(zhèn)與建制村,通過點擊相應的區(qū)域,系統(tǒng)將自動定位到該區(qū)域,并將該區(qū)域縮放到當前視圖中央。
(4)基礎地圖操作模塊。該模塊主要是與地圖服務的交互操作,用戶可以進行地圖輸出、量測、拉框查詢等操作。地圖輸出會將當前視圖內(nèi)所有的要素進行打印輸出,輸出格式包括jpg、png等多種格式。量測功能通過點擊兩點,系統(tǒng)自動計算距離,并以popup展示距離,支持多點量測。拉框查詢功能需要用戶先確定查詢圖層,用戶以框選的形式與地圖交互,以表格形式展示選中的要素,并可以點擊定位某一要素,同時也可以查看某一數(shù)據(jù)的全部屬性信息。
(5)數(shù)據(jù)統(tǒng)計與定位模塊。該模塊主要是對農(nóng)村公路、路網(wǎng)等交通設施數(shù)據(jù)的統(tǒng)計展示,以表格的形式為用戶展示農(nóng)村公路的建設情況,默認展示全縣的數(shù)據(jù)。用戶可以點擊行政區(qū)劃的形式,展示某個具體鄉(xiāng)鎮(zhèn)或者建制村的數(shù)據(jù)。用戶通過點擊定位,實現(xiàn)對表格中某一具體數(shù)據(jù)的定位縮放,并將其高亮顯示。
5 結(jié)語
本文基于農(nóng)村公路、路網(wǎng)等交通基礎數(shù)據(jù)、遙感影像等數(shù)據(jù),結(jié)合WebGIS技術(shù)與HTML、CSS、JavaScript、Java、Spring Boot框架等開發(fā)語言與框架設計并實現(xiàn)了基于WebGIS的四川省營山縣農(nóng)村公路基礎數(shù)據(jù)管理系統(tǒng)。該系統(tǒng)部署簡單、維護方便。通過農(nóng)村公路等交通基礎數(shù)據(jù)的可視化瀏覽與表格展示的方式直觀的展示營山縣的農(nóng)村公路建設成果,為營山縣后續(xù)的農(nóng)村公路建設與規(guī)劃提供了參考。
參考文獻:
[1]咬定目標 凝聚合力 堅決打贏交通脫貧攻堅戰(zhàn)[J].四川黨的建設,2018(22):2.
[2]Chang Y,Park H.Development of a web-based Geographic Information System for the management of borehole and geological data[J].Computers & geosciences,2004,30(8):887-897.
[3]付品德,孫九林,秦耀辰,等.Web GIS:原理與應用[M].高等教育出版社,2012.
[4]張明安,馬友華,褚進華,等.基于WebGIS的縣域測土配方施肥系統(tǒng)的建立[J].農(nóng)業(yè)網(wǎng)絡信息,2011(6):20-23.
[5]唐月.基于B/S模式的廣電地理信息系統(tǒng)(GIS)及其應用[J].有線電視技術(shù),2018(02):21-26.
[6]王晉.B/S模式建立的Web數(shù)據(jù)上報系統(tǒng)在護理管理中的應用[J].天津護理,2017,25(06):546-547.
[7]鐘立明,景寧,熊偉.基于ArcGIS API for JavaScript的路徑規(guī)劃方法實現(xiàn)[J].數(shù)字通信世界,2019(08):88-90.
[8]張土前,蔣平安,鄒鵬.基于RFID與WebGIS的阿克蘇蘋果質(zhì)量安全溯源系統(tǒng)[J].新疆農(nóng)業(yè)科學,2012,49(08):1519-1524.