999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

開源網(wǎng)絡(luò)地理信息系統(tǒng)的技術(shù)體系與研究進(jìn)展

2022-08-09 05:43:52木嘯林牛坤龍蔡世榮楊現(xiàn)坤王晉年
關(guān)鍵詞:可視化數(shù)據(jù)庫用戶

木嘯林,牛坤龍,蔡世榮,楊現(xiàn)坤,王晉年,2

1.廣州大學(xué) 地理科學(xué)與遙感學(xué)院,廣州 510006

2.廣州大學(xué) 遙感大數(shù)據(jù)智能應(yīng)用創(chuàng)新中心,廣州 510006

空間數(shù)據(jù)是地理學(xué)研究的重要組成部分,基于網(wǎng)絡(luò)的空間數(shù)據(jù)共享、可視化和分析可以極大促進(jìn)空間數(shù)據(jù)的應(yīng)用。地理信息系統(tǒng)(geographic information system,GIS)軟件為這些專業(yè)需求提供了有效的解決方案。商業(yè)GIS軟件可以提供大多數(shù)的GIS功能,且自家軟件功能模塊間兼容和互操作性比較強(qiáng)。但是,其昂貴的采購成本使得很多公益性或研究性的研發(fā)項(xiàng)目無法使用。免費(fèi)開源軟件(free and open source software,F(xiàn)OSS)可以滿足這些項(xiàng)目的研發(fā)需求,是近年來比較流行的解決方式。

FOSS是指軟件創(chuàng)作者遵循開源協(xié)議,將源代碼部分或全部公開,允許用戶使用、研究、更改,不受許可證限制的免費(fèi)軟件[1-3]。自開源軟件運(yùn)動以來,F(xiàn)OSS發(fā)展迅速,目前已有80%的軟件使用了開源方式進(jìn)行開發(fā)[2]。開源網(wǎng)絡(luò)地理信息系統(tǒng)是其發(fā)展的主要方向之一。20世紀(jì)90年代開源思想在GIS領(lǐng)域萌芽,國內(nèi)外諸多科研院所開始進(jìn)行GIS軟件開源嘗試。2006年,國際開源地理空間基金委(open source geospatial foundation,OSGeo)成立,與此同時,國內(nèi)也開始了對FOSS軟件的應(yīng)用研究,比如,孫劍在2006年對FOSS軟件的體系架構(gòu)進(jìn)行了梳理[4],馮宇等基于MapServer中間件開發(fā)了佛山干線公路網(wǎng)用地控制規(guī)劃系統(tǒng)[5]。2014年OSGeo中國分中心成立,極大促進(jìn)了我國FOSS的發(fā)展。基金會也從最初的幾個項(xiàng)目逐漸發(fā)展至涵蓋前端地理信息渲染平臺、中間件及各類企業(yè)級地理空間計(jì)算平臺等數(shù)十個門類的開源地理空間項(xiàng)目[6]。當(dāng)前,可從OSGeo中國分中心網(wǎng)站上檢索到的GIS軟件有242個。30多年來,F(xiàn)OSS GIS取得長足發(fā)展,現(xiàn)已形成完整的產(chǎn)品線。

相較于傳統(tǒng)的商業(yè)GIS軟件,F(xiàn)OSS GIS軟件免費(fèi)開源,無需授權(quán)即可使用;FOSS軟件兼容性強(qiáng),支持絕大多數(shù)的操作系統(tǒng);擴(kuò)展性強(qiáng),允許用戶創(chuàng)建和管理自己的插件;更新及時,一般每個季度會發(fā)布一個小版本且對于軟件問題反饋及時高效。但FOSS項(xiàng)目由于經(jīng)費(fèi)和人力資源限制,一般只能實(shí)現(xiàn)某一項(xiàng)功能[7],因此,使用FOSS進(jìn)行GIS開發(fā)需要開發(fā)者綜合多個FOSS項(xiàng)目。大量的FOSS項(xiàng)目可能會使開發(fā)者難以取舍,所以對這些項(xiàng)目的基本功能及特點(diǎn)進(jìn)行梳理十分必要。

當(dāng)前,國產(chǎn)開源WebGIS軟件應(yīng)用較少,尚未得到廣泛推廣,且各軟件自成體系,應(yīng)用潛力還未得到有效挖掘。為全面了解FOSS的基本特點(diǎn)和功能,本文較為系統(tǒng)地梳理了當(dāng)前文獻(xiàn)中常用的開源網(wǎng)絡(luò)地理信息系統(tǒng)軟件,詳細(xì)介紹了開源WebGIS的技術(shù)體系、功能特征和應(yīng)用領(lǐng)域,并在此基礎(chǔ)上歸納當(dāng)前開源GIS的研究進(jìn)展與發(fā)展趨勢,以期為中國地理信息系統(tǒng)軟件發(fā)展規(guī)劃和技術(shù)應(yīng)用提供技術(shù)參考和經(jīng)驗(yàn)借鑒。

1 開源WebGIS軟件綜述

目前在全球范圍內(nèi)科研和行業(yè)應(yīng)用領(lǐng)域都已開始大量使用開源WebGIS軟件對空間數(shù)據(jù)進(jìn)行獲取、修改、存儲、分析和可視化。本文主要關(guān)注應(yīng)用在地理學(xué)和遙感科學(xué)等領(lǐng)域的開源WebGIS軟件。這些軟件大多基于開放地理空間信息聯(lián)盟(open geospatial consortium,OGC)標(biāo)準(zhǔn)開發(fā)。OGC是制定FOSS軟件數(shù)據(jù)和服務(wù)標(biāo)準(zhǔn)的非盈利組織,其制定的標(biāo)準(zhǔn)包括,地理標(biāo)記語言(geographic markup language,GML)、網(wǎng)絡(luò)處理服務(wù)(Web processing service,WPS)、網(wǎng)絡(luò)地圖服務(wù)(Web map service,WMS)、網(wǎng)絡(luò)要素服務(wù)(Web feature service,WFS)、網(wǎng)絡(luò)地理場數(shù)據(jù)服務(wù)(Web coverage service,WCS)等,GIS廠商依照標(biāo)準(zhǔn)開發(fā)可實(shí)現(xiàn)對不同空間數(shù)據(jù)的互操作。

一套常規(guī)的WebGIS架構(gòu)主要由三部分組成,數(shù)據(jù)庫、GIS服務(wù)器和Web服務(wù)器(圖1)。其中,數(shù)據(jù)庫用于存儲地理信息數(shù)據(jù),如矢量數(shù)據(jù)、柵格數(shù)據(jù)等。GIS服務(wù)器用于向前端提供WMS、WFS、WCS等服務(wù)。Web服務(wù)器則用于調(diào)取GIS服務(wù)器所提供的OGC標(biāo)準(zhǔn)服務(wù),并在前端進(jìn)行渲染展示。

圖1 常規(guī)開源WebGIS軟件體系架構(gòu)Fig.1 Open source WebGIS software framework

根據(jù)不同軟件的技術(shù)特點(diǎn)和核心功能,本文將開源WebGIS軟件分為四大類分別闡述:用于存儲數(shù)據(jù)的空間數(shù)據(jù)庫軟件、用于數(shù)據(jù)共享的空間數(shù)據(jù)發(fā)布軟件、用于空間數(shù)據(jù)制圖的可視化軟件及用于地理處理和算法操作的空間分析軟件。

1.1 空間數(shù)據(jù)庫軟件

空間數(shù)據(jù)庫將地理數(shù)據(jù)存儲在一個文件系統(tǒng)中,該系統(tǒng)可以存儲數(shù)百萬的大型空間數(shù)據(jù)集,并可以高效查詢、分析和更新這些數(shù)據(jù)[8]。許多空間數(shù)據(jù)庫是對現(xiàn)有結(jié)構(gòu)化查詢語言(structured query language,SQL)數(shù)據(jù)庫的擴(kuò)展,實(shí)現(xiàn)了OGC的簡單要素標(biāo)準(zhǔn)(simple feature standard,SFS),用于定義空間對象的表達(dá)方式。當(dāng)前支持空間查詢語言的開源數(shù)據(jù)庫主要有PostGIS、SpatiaLite和MySQL Spatial等(表1)。

表1 常用開源空間數(shù)據(jù)庫特點(diǎn)及應(yīng)用示例Table 1 Summary of spatial database features and examples in literature

1.1.1 PostGIS

PostGIS是對象關(guān)系數(shù)據(jù)庫PostgreSQL的空間數(shù)據(jù)庫擴(kuò)展,在開源空間數(shù)據(jù)庫中提供了最廣泛的OGC-SFS支持[8]。它實(shí)現(xiàn)了對地理對象的支持,并融合數(shù)據(jù)庫系統(tǒng)與空間數(shù)據(jù)管理,使用戶可以在數(shù)據(jù)庫內(nèi)核中實(shí)現(xiàn)空間分析等操作[28]。PostGIS集成了R-tree空間索引技術(shù),以加快空間數(shù)據(jù)查詢速度;并結(jié)合GDAL類庫來支持各種柵格格式讀取與分析。此外,PostGIS還提供一個大型空間數(shù)據(jù)庫函數(shù)庫(2.1版中約有400個操作函數(shù)),用于實(shí)現(xiàn)矢量和柵格數(shù)據(jù)的基本分析、矢量數(shù)據(jù)和柵格數(shù)據(jù)之間的相互轉(zhuǎn)換及投影轉(zhuǎn)換等功能。

1.1.2 SpatiaLite

SpatiaLite是SQLite數(shù)據(jù)庫的空間擴(kuò)展[8],簡單、易用,只有幾百KB大小。它通過使用GEOS的幾何庫,PROJ.4、LIBICONV等類庫來實(shí)現(xiàn)OGC-SFS、坐標(biāo)轉(zhuǎn)換、多種編程語言支持等功能;通過集成R-tree空間索引機(jī)制來高效查詢和分析矢量空間數(shù)據(jù);通過創(chuàng)建抽象數(shù)據(jù)類型Geometry字段來存儲和管理矢量數(shù)據(jù)[21,29]。相較于PostGIS,SpatiaLite更像傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,當(dāng)前僅支持矢量數(shù)據(jù),并且更適合單機(jī)操作,在處理并發(fā)訪問或者基于網(wǎng)絡(luò)訪問操作時能力比較有限[30]。

1.1.3 MySQL Spatial

MySQL Spatial是MySQL數(shù)據(jù)庫的空間擴(kuò)展,實(shí)現(xiàn)了OGC-SFS標(biāo)準(zhǔn)。它支持GEOMETRY(空間要素類型基類)、POINT(點(diǎn))、CURVE(曲線)、SURFACE(面)等幾種空間幾何數(shù)據(jù),不支持柵格數(shù)據(jù)[31]。同PostGIS和SpatiaLite一樣,MySQL Spatial也提供了數(shù)據(jù)庫操作函數(shù)庫。5.7版中約有90個函數(shù),但其函數(shù)均假設(shè)在二維平面上進(jìn)行空間操作,并不考慮空間坐標(biāo)參考系統(tǒng)。

1.2 空間數(shù)據(jù)發(fā)布軟件

開發(fā)者可以通過空間數(shù)據(jù)服務(wù)器將空間數(shù)據(jù)向用戶發(fā)布,促進(jìn)數(shù)據(jù)交流與共享。這時,空間數(shù)據(jù)服務(wù)器的作用是以友好的格式和方式傳遞空間數(shù)據(jù),方便客戶端解讀和顯示空間數(shù)據(jù)。當(dāng)前主流的開源地理空間數(shù)據(jù)發(fā)布軟件有MapServer、GeoServer、deegree和Geomajas(表2)。

表2 常用空間數(shù)據(jù)發(fā)布軟件特點(diǎn)及應(yīng)用示例Table 2 Summary of geospatial data server software features and examples in literature

1.2.1 MapServer

MapServer是用C語言編寫的通用網(wǎng)關(guān)接口(common gateway interface,CGI)程序,兼容多種操作系統(tǒng)[51]。它提供了2種工作模式:CGI和MapScript,一般選用CGI模式進(jìn)行應(yīng)用系統(tǒng)研發(fā)[35]。開發(fā)者亦可選用MapScript應(yīng)用程序編程接口(application programming interface,API)配置服務(wù)器,并以執(zhí)行腳本的方式與服務(wù)器交互。MapServer通過集成GDAL類庫實(shí)現(xiàn)多種柵格和矢量數(shù)據(jù)格式的訪問;通過使用Mapfiles文件配置數(shù)據(jù)發(fā)布服務(wù);通過支持PostGIS數(shù)據(jù)庫實(shí)現(xiàn)空間數(shù)據(jù)的存儲和查詢,并基于kamap、MapLab、CartoWeb等一系列客戶端JavaScript API來實(shí)現(xiàn)對地理空間數(shù)據(jù)的表達(dá)與傳輸[52]。

1.2.2 GeoServer

GeoServer是基于Java開發(fā)的空間數(shù)據(jù)服務(wù)發(fā)布軟件,是OpenGIS Web服務(wù)器規(guī)范的J2EE(Java 2 platform enterprise edition)實(shí)現(xiàn),可兼容WMS、WFS、GML等WebGIS相關(guān)服務(wù)[53]。GeoServer允許用戶插入、刪除、修改、查詢、發(fā)布特征數(shù)據(jù),以便在用戶之間迅速共享地理信息。GeoServer提供了圖形化的Web配置管理工具,方便開發(fā)者通過采用表述性狀態(tài)轉(zhuǎn)移(representational state transfer,REST)接口以編程的方式更加靈活地配置服務(wù)器[54]。此外,GeoServer還實(shí)現(xiàn)了對OpenLayers和Google Earth插件的支持,并支持GeoWebCache自動空間數(shù)據(jù)緩存、瓦片制圖及空間數(shù)據(jù)庫訪問。GeoServer訪問空間數(shù)據(jù)是基于GeoTools類庫實(shí)現(xiàn)的,它嚴(yán)重依賴GeoTools類庫[55]。

1.2.3 deegree

deegree是用Java編寫的空間數(shù)據(jù)發(fā)布軟件,實(shí)現(xiàn)了WMS、WFS等OGC標(biāo)準(zhǔn)。deegree的功能由Servlet組件實(shí)現(xiàn),現(xiàn)有絕大多數(shù)Web服務(wù)器均支持Servlet技術(shù),因此可以很方便地將其部署到服務(wù)器上。它也提供了一個類似于REST的編程配置界面,能以編程方式配置服務(wù)器。此外,deegree還支持如PostGIS、shapefile和OGC-GML格式等多種數(shù)據(jù)源,動態(tài)地產(chǎn)生點(diǎn)、線、多邊形等地理空間數(shù)據(jù)[56]。

1.2.4 Geomajas

Geomajas是一個用于建立WebGIS應(yīng)用的框架,具有顯示和管理復(fù)雜地理空間信息的能力。它基于谷歌網(wǎng)絡(luò)工具(Google Web tools,GWT)構(gòu)建,為瀏覽器提供了一個完整的映射API。Geomajas提供了服務(wù)器端平臺GWT Server實(shí)現(xiàn)空間數(shù)據(jù)的集成,它允許用戶從客戶端瀏覽器中控制、管理發(fā)布空間數(shù)據(jù),并提供了一套功能強(qiáng)大的模塊,幫助開發(fā)者構(gòu)建所需的地理信息系統(tǒng)應(yīng)用程序。Geomajas的主要功能包括模塊化結(jié)構(gòu)、集成的客戶端服務(wù)器架構(gòu)、高級幾何和屬性編輯與驗(yàn)證、明確定義的API等[49]。

1.3 空間數(shù)據(jù)制圖與可視化軟件

空間數(shù)據(jù)需要制圖與可視化軟件實(shí)現(xiàn)網(wǎng)絡(luò)環(huán)境下可視化顯示。可視化時,制圖軟件獲取后臺空間數(shù)據(jù)服務(wù)器提供的WMS、WFS和WCS服務(wù),對數(shù)據(jù)渲染并在瀏覽器中顯示。當(dāng)前,主流的開源網(wǎng)絡(luò)地圖制圖和可視化軟件有OpenLayers、Google Earth、QGIS Server、Leaflet等(表3)。

表3 常用空間數(shù)據(jù)制圖與可視化軟件特點(diǎn)及應(yīng)用示例Table 3 Summary of mapping libraries features and examples in literature

1.3.1 OpenLayers

OpenLayers是由MetaCarta公司開發(fā)的JavaScript包,是用于構(gòu)建網(wǎng)絡(luò)地圖應(yīng)用的類庫,可以在網(wǎng)頁上交互式顯示地圖[77]。OpenLayers通過集成WebGL標(biāo)準(zhǔn)和Canvas 2D圖形技術(shù)獲得高效的可視化性能。它可以渲染顯示各種格式的地理空間數(shù)據(jù),如GeoJSON、GML及OGC Web服務(wù)等[59,78]。OpenLayers提供在地圖上繪制和編輯的數(shù)據(jù)接口,允許開發(fā)人員使用各種基礎(chǔ)地圖,包括Open Street Map、Bing Map、MapQuest等[79]。此外,OpenLayers的API實(shí)現(xiàn)了類似Ajax的無刷新更新頁面,與用戶交互更便捷,減少了用戶的等待時間。當(dāng)前OpenLayers尚未支持三維顯示,但是無需任何插件及插件附帶的各種限制仍是它的優(yōu)勢[8]。

1.3.2 Google Earth

雖然Google Earth并非開源WebGIS軟件,但其對普通用戶免費(fèi),并且支持多種開源地圖數(shù)據(jù)可視化。由于版權(quán)問題,Google Earth不能用于商業(yè)用途,但個人用戶每天最多可以請求獲取25 000個地圖[8]。用戶可通過Google Earth插件使用Keyhole標(biāo)記語言(keyhole markup language,KML)在三維虛擬地球環(huán)境中可視化空間數(shù)據(jù)。但上述操作的前提是需要用戶安裝相應(yīng)瀏覽器插件,而有些操作系統(tǒng)或?yàn)g覽器不支持該插件。因此,谷歌Earth API已于2015年12月14日停用該Web插件。

1.3.3 QGIS Server

QGIS(原稱Quantum GIS)是基于Qt開發(fā)的開源桌面GIS軟件,2009年首次發(fā)行。QGIS的底層語言為C++,通過集成GDAL、Qt等開源類庫,用戶可進(jìn)行常規(guī)的遙感影像處理流程[67,69]。QGIS支持多種數(shù)據(jù)庫的訪問,擁有豐富全面的算法庫,每個算法都被封裝,有明確的輸入輸出,方便用戶跨平臺開發(fā)[70]。QGIS提供了QGIS Server插件,開發(fā)者可以將自己的QGIS可視化項(xiàng)目作為WMS一對一地發(fā)布在網(wǎng)絡(luò)上。QGIS Server是開源的WMS 1.3.0,WFS 1.0.0實(shí)現(xiàn)。它使用QGIS作為GIS邏輯和地圖渲染的后端,實(shí)現(xiàn)了高級制圖功能。當(dāng)前,用戶可以從QGIS提供的代碼開放平臺、官方教程及演示中學(xué)習(xí)QGIS、QGIS Server操作,進(jìn)行開發(fā)。

1.3.4 Leaflet

Leaflet是一個易用輕量的開源JavaScript庫,代碼量小,只有39 KB,但具備開發(fā)網(wǎng)絡(luò)地圖的大部分功能,適用于中大型WebGIS系統(tǒng)開發(fā)。Leaflet的設(shè)計(jì)堅(jiān)持簡便、高性能和可用性好的原則,無需部署,可被程序直接引用。Leaflet支持插件擴(kuò)展,開發(fā)者可以通過集成多種插件來滿足地圖查詢、分析及渲染等操作需求[75]。Leaflet默認(rèn)采用“L”作為命名空間,核心為Map類,Map是一個地圖容器,可以在其中放置地圖控件,添加圖層、標(biāo)注、符號,綁定事件等[80]。

1.4 空間分析軟件

在WebGIS應(yīng)用程序開發(fā)中,空間分析操作可通過使用OGC網(wǎng)絡(luò)處理服務(wù)(Web processing service,WPS)規(guī)范來實(shí)現(xiàn)。WPS規(guī)范定義了三種強(qiáng)制操作,以實(shí)現(xiàn)網(wǎng)絡(luò)上的空間信息處理。Get Capabilities操作允許客戶端請求和接收描述服務(wù)器功能實(shí)現(xiàn)的元數(shù)據(jù)文檔;Describe Process操作返回有關(guān)流程需求的詳細(xì)信息,如輸入輸出參數(shù)及允許的數(shù)據(jù)格式等;Execute操作使用用戶提供的輸入?yún)?shù)調(diào)用由WPS實(shí)現(xiàn)的特定流程,并將流程處理結(jié)果返回客戶端。開發(fā)者可以將WPS搭建在專門的空間數(shù)據(jù)處理服務(wù)器上來實(shí)現(xiàn)空間分析功能。前文所述的deegree和GeoServer雖也支持WPS,但很多現(xiàn)有使用deegree和GeoServer的文獻(xiàn)并未明確言明是否使用其網(wǎng)絡(luò)處理功能,因此本文未總結(jié)以上二者所涉及的應(yīng)用。常用網(wǎng)絡(luò)處理服務(wù)軟件如表4。

表4 常用空間數(shù)據(jù)處理軟件特點(diǎn)及應(yīng)用示例Table 4 Summary of geoprocessing software features and examples in literature

1.4.1 52°North WPS

52°North WPS軟件是全面支持OGC-WPS標(biāo)準(zhǔn)的典范。它實(shí)現(xiàn)了WPS 1.0標(biāo)準(zhǔn),支持多種地理數(shù)據(jù)格式訪問,如GeoTiff、Arc Grid、Shapefile、GML等,可以同時在線處理多種數(shù)據(jù)格式,并將結(jié)果反饋給用戶[82]。它提供了一個可擴(kuò)展、可集成的開發(fā)框架,允許開發(fā)人員把自己開發(fā)的R、Python腳本、Java程序以及地理處理算法等發(fā)布為網(wǎng)絡(luò)服務(wù)。此外,52°North WPS還可與現(xiàn)有的地理處理庫集成,如GRASS、Sextante和ArcGIS Server等,且集成開發(fā)后實(shí)現(xiàn)的地理處理功能,無需進(jìn)行任何修改,拿來即用,極大地降低了應(yīng)用開發(fā)難度。

1.4.2 PyWPS

PyWPS是唯一基于Python的WPS實(shí)現(xiàn),提供在Python中創(chuàng)建WPS的環(huán)境。與其他WPS服務(wù)一樣,PyWPS本身并不處理數(shù)據(jù),而是提供服務(wù)器與本地?cái)?shù)據(jù)操作工具(如GRASS、GDAL和R腳本)之間的連接,為WPS輸入和輸出提供簡單的接口[30]。其開發(fā)自定義流程需要創(chuàng)建一個Python文件來實(shí)現(xiàn)業(yè)務(wù)邏輯,定義服務(wù)元數(shù)據(jù)和配置參數(shù)。開發(fā)PyWPS的過程不需要Python語言本身和WPS標(biāo)準(zhǔn)核心概念以外的額外知識,更加適合缺乏編程高級培訓(xùn)的個人開發(fā)者使用。

1.4.3 ZOO-Project

ZOO-Project是用C、Python和JavaScript編寫的WPS服務(wù),實(shí)現(xiàn)了WPS 1.0和WPS 2.0接口標(biāo)準(zhǔn),能夠在線處理地理空間或非地理空間數(shù)據(jù)。它的核心處理引擎ZOO-Kernel允許用戶基于可靠的軟件和類庫來執(zhí)行諸多現(xiàn)有的ZOO服務(wù),并允許用戶從新的或現(xiàn)有的源代碼創(chuàng)建自己的WPS服務(wù)。ZOO-Project提供了另一種網(wǎng)絡(luò)處理服務(wù)實(shí)現(xiàn)方式來促進(jìn)網(wǎng)絡(luò)處理服務(wù)的發(fā)展。它支持20多種編程語言,簡化了新服務(wù)作為獨(dú)立模塊的開發(fā),并提供了一個原始的方法來設(shè)置WPS服務(wù)器,使網(wǎng)絡(luò)處理服務(wù)更容易實(shí)現(xiàn)[94]。

2 WebGIS開發(fā)工具

WebGIS應(yīng)用一般需要設(shè)計(jì)開發(fā)Web界面作為與后臺軟件組件的交互入口。因此,一般的WebGIS應(yīng)用都配置一個Web服務(wù)器并設(shè)計(jì)基于HTML的Web頁面作為地圖數(shù)據(jù)和信息顯示的容器,用于和用戶進(jìn)行操作交互。Web服務(wù)器上的腳本語言通常需要承擔(dān)數(shù)據(jù)庫交互、與其他軟件和其他Web應(yīng)用的邏輯交互等任務(wù)。因此,合適的開發(fā)語言、簡潔的開發(fā)框架、適當(dāng)?shù)膬?nèi)容管理系統(tǒng),對WebGIS應(yīng)用開發(fā)至關(guān)重要。本章主要回顧文獻(xiàn)中WebGIS應(yīng)用開發(fā)時常用的開發(fā)語言、網(wǎng)絡(luò)框架和內(nèi)容管理系統(tǒng)。常用WebGIS開發(fā)工具如表5。

表5 常用WebGIS開發(fā)工具Table 5 Summary of Web development software used by Web Apps in literature

2.1 開發(fā)語言

在Web開發(fā)中,編程語言可以處理高級邏輯,使網(wǎng)站更加動態(tài),而不僅僅簡單地返回靜態(tài)HTML。例如,當(dāng)用戶提交操作請求時,編程語言可以執(zhí)行模擬分析任務(wù)或處理復(fù)雜的可視化任務(wù)。事實(shí)上,只要編程語言提供了處理HTTP請求的機(jī)制,就可以實(shí)現(xiàn)以上目的,用于WebGIS開發(fā)。但由于不同編程語言提供的Web開發(fā)類庫豐富程度不同,使得開發(fā)難易程度和時間開銷不同,因而才有WebGIS開發(fā)語言的劃分。

2.1.1 PHP

超文本預(yù)處理器(hypertext preprocessor,PHP)是一種適用于Web開發(fā)的開源服務(wù)器端腳本語言。其語法吸收借鑒C、Java、Perl等語言,易于學(xué)習(xí)和實(shí)踐。PHP嵌入在網(wǎng)站的HTML頁面中,用戶請求網(wǎng)頁時在服務(wù)器上執(zhí)行代碼。它通過ODBC類庫支持不同數(shù)據(jù)庫,并提供PDO數(shù)據(jù)庫抽象層[51]。PHP官方提供了諸多功能擴(kuò)展模塊,并添加常見的Web功能(如管理會話和cookie、用戶身份驗(yàn)證和文件上傳等)使開發(fā)更加高效。目前,國內(nèi)比較主流的Web地圖服務(wù),如天地圖、高德地圖、騰訊地圖和百度地圖都提供了PHP語言的開發(fā)示例,支持用戶快速搭建WebGIS應(yīng)用程序。

2.1.2 Java

Java是一種基于類的面向?qū)ο缶幊陶Z言,廣泛應(yīng)用于企業(yè)級Web應(yīng)用開發(fā)和移動應(yīng)用開發(fā)。Java繼承了C++中的面向?qū)ο蠹夹g(shù),摒棄了指針、運(yùn)算符重載和多重繼承特性,增加了垃圾回收器等功能,使得基于Java開發(fā)更加靈活、穩(wěn)健。在WebGIS應(yīng)用開發(fā)中,開發(fā)人員一般使用J2EE(Java 2 platform enterprise edition)和JSP(Java server pages)進(jìn)行程序開發(fā)。現(xiàn)行大部分基于Android的WebGIS軟件都是使用Java語言開發(fā)的[30]。Java技術(shù)免費(fèi)、開源的特性,為創(chuàng)建和運(yùn)行大規(guī)模、多層、可擴(kuò)展、安全可靠的網(wǎng)絡(luò)應(yīng)用程序提供了強(qiáng)大的跨平臺開發(fā)環(huán)境,極大地促進(jìn)了Java語言在WebGIS開發(fā)領(lǐng)域的普及和應(yīng)用。

2.2 網(wǎng)絡(luò)應(yīng)用框架

網(wǎng)絡(luò)框架是為構(gòu)建網(wǎng)站提供的可編寫腳本的方法,目的是減輕開發(fā)者在設(shè)計(jì)靜態(tài)網(wǎng)站時編寫低級代碼的任務(wù)量。例如,之前需要設(shè)計(jì)多個靜態(tài)網(wǎng)頁才能實(shí)現(xiàn)的任務(wù),通過網(wǎng)絡(luò)框架編寫動態(tài)腳本可以集成在一個頁面內(nèi)完成。網(wǎng)絡(luò)應(yīng)用框架通常提供數(shù)據(jù)庫訪問、用戶管理、會話控制及網(wǎng)絡(luò)安全控制等功能。大多數(shù)網(wǎng)絡(luò)應(yīng)用框架都遵循軟件系統(tǒng)設(shè)計(jì)的模型(model)—視圖(view)—控制器(controller)的MVC開發(fā)范式。MVC開發(fā)范式實(shí)現(xiàn)了動態(tài)的程序設(shè)計(jì),使開發(fā)者后續(xù)對程序的修改和擴(kuò)展更加簡便,降低了程序設(shè)計(jì)的復(fù)雜度,方便開發(fā)者進(jìn)行程序開發(fā)。

2.2.1 Python網(wǎng)絡(luò)應(yīng)用框架

Python的SciPy和NumPy等科學(xué)計(jì)算模塊及簡單易用的特性,使其成為流行的科學(xué)計(jì)算腳本語言[110]。當(dāng)前,Python驅(qū)動的網(wǎng)絡(luò)應(yīng)用框架(如Django、Flask、Tornado、Web2py和Pylons等)是構(gòu)建地理科學(xué)網(wǎng)絡(luò)應(yīng)用程序的首選。但是,基于Python的網(wǎng)絡(luò)應(yīng)用框架的默認(rèn)功能差異很大。例如,Django提供了大量默認(rèn)可用的功能,使開發(fā)更加簡單方便,而Pylons僅提供少量默認(rèn)功能,但卻為開發(fā)人員提供更大的開發(fā)靈活性。隨著近年來基于Python的開發(fā)愈加流行,采用Python網(wǎng)絡(luò)應(yīng)用框架的WebGIS應(yīng)用也將越來越多。

2.2.2 CodeIgniter

CodeIgniter是一個基于MVC開發(fā)范式,采用PHP語言開發(fā)的Web應(yīng)用框架,性能卓越,配置簡單。CodeIgniter框架提供了完整的數(shù)據(jù)庫操作、表單操作和數(shù)據(jù)驗(yàn)證、安全控制、會話管理和文件上傳等功能。對于已使用PHP的WebGIS應(yīng)用,想要使用結(jié)構(gòu)化框架的方法進(jìn)行功能擴(kuò)展的任務(wù)來說,CodeIgniter是一個比較好的選擇[111]。

2.2.3 Ruby on Rails

Ruby on Rails,簡稱Rails,是采用Ruby語言編寫的Web應(yīng)用框架。它嚴(yán)格按照MVC結(jié)構(gòu)開發(fā),框架自身簡單,實(shí)際應(yīng)用開發(fā)代碼量少[112]。許多其他Web應(yīng)用框架都曾受到Rails開發(fā)思想的影響。據(jù)統(tǒng)計(jì),有數(shù)以萬計(jì)的網(wǎng)站是基于Rails開發(fā)的,包括比較流行的Twitter和GitHub網(wǎng)站等[112]。

2.2.4 客戶端開發(fā)框架

為避免瀏覽器和服務(wù)器之間頻繁交互造成的延遲,一些Web應(yīng)用被開發(fā)成完全在客戶端(Web瀏覽器)上運(yùn)行的純JavaScript應(yīng)用程序。用戶初次請求會傳遞給服務(wù)器,從服務(wù)器下載應(yīng)用程序的源代碼,而后啟動Web應(yīng)用程序。Walker等在2014年開發(fā)了客戶端Web應(yīng)用程序,運(yùn)行基于Web的交互式河流模型WIRM[102]。該Web應(yīng)用是使用Backbone.js開發(fā)的JavaScript MVC客戶端框架。在服務(wù)器端,該程序使用Django處理用戶認(rèn)證和數(shù)據(jù)庫交互。

2.3 內(nèi)容管理系統(tǒng)

內(nèi)容管理系統(tǒng)(content management system,CMS)是一種位于Web服務(wù)器和后端辦公系統(tǒng)之間的軟件系統(tǒng)。內(nèi)容管理系統(tǒng)中的“內(nèi)容”涵括除地理數(shù)據(jù)外,其他任何形式的數(shù)字信息組合,如文本、Web頁面、視頻、聲音、XML文件等。基于CMS的WebGIS應(yīng)用只需在瀏覽器中使用有限代碼和界面交互即可完成網(wǎng)站構(gòu)建。CMS的用戶界面具有前端和后端結(jié)構(gòu),用戶訪問前端進(jìn)行交互,管理員訪問后端進(jìn)行維護(hù)和開發(fā),這種類型系統(tǒng)非常適合非技術(shù)管理員維護(hù)網(wǎng)站。在WebGIS應(yīng)用開發(fā)完成后,只需對一般人員進(jìn)行簡單的網(wǎng)站維護(hù)和數(shù)據(jù)更新培訓(xùn)即可承擔(dān)網(wǎng)站管理工作。文獻(xiàn)中常用的開源CMS系統(tǒng)主要有Drupal、CKAN等。

2.3.1 Drupal

Drupal是基于PHP語言編寫的開源內(nèi)容管理系統(tǒng)。它提供了基于瀏覽器的圖形用戶界面用于開發(fā)WebGIS應(yīng)用,以此來最大限度地減少代碼編寫量[107]。Drupal本身僅提供了基本功能,開發(fā)者可以按照自己的需求安裝相應(yīng)模塊庫的模塊來為網(wǎng)站添加功能。此外,開發(fā)者還可以使用PHP調(diào)用其他Drupal開發(fā)者提供的模塊來快速創(chuàng)建自己的模塊。

2.3.2 CKAN

CKAN是建立在Pylons Python框架上內(nèi)容管理系統(tǒng)。和Drupal主要用于網(wǎng)絡(luò)應(yīng)用的頁面可視化不同,CKAN使用內(nèi)置數(shù)據(jù)管理系統(tǒng)托管地理數(shù)據(jù)集[109]。CKAN的系統(tǒng)以“開箱即用”的方式托管數(shù)據(jù),并創(chuàng)建豐富的元數(shù)據(jù)支持對地理數(shù)據(jù)信息描述[42]。同時,CKAN還提供了一組用于構(gòu)建自定義擴(kuò)展的Python編程接口及以編程方式上傳和下載數(shù)據(jù)的REST API。當(dāng)前,美國政府、加拿大政府及開源非洲等地理數(shù)據(jù)共享網(wǎng)站都是采用CKAN框架開發(fā)的。

3 討論

免費(fèi)和開源網(wǎng)絡(luò)地理信息系統(tǒng)軟件的獨(dú)特優(yōu)勢和技術(shù)特點(diǎn)促使其在實(shí)際中應(yīng)用越來越廣。相較于商業(yè)GIS軟件,用于地理空間的FOSS軟件完全免費(fèi)、兼容性強(qiáng),支持多種操作系統(tǒng),且開發(fā)過程中幾乎無需考慮軟件成本問題。FOSS完全開源,開發(fā)者可通過研究源代碼了解WebGIS相關(guān)技術(shù)的底層實(shí)現(xiàn)方法。一些開源WebGIS軟件還提供了獨(dú)立的插件管理器,允許開發(fā)者自由分享插件。開源WebGIS軟件中許多插件由一線科研工作者研發(fā),涉及領(lǐng)域內(nèi)前沿學(xué)術(shù)問題,并且,諸多經(jīng)典模型在軟件中都有完備模塊,可以幫助剛?cè)腴T的小白節(jié)省編程實(shí)現(xiàn)模型所帶來的時間消耗,提高科研和學(xué)習(xí)效率。

本文主要介紹文獻(xiàn)中常用的開源WebGIS開發(fā)技術(shù),并相應(yīng)列舉了目前已公開發(fā)表的85個項(xiàng)目,其中73個近十年發(fā)表,35個近五年發(fā)表。本文總結(jié)的開源軟件項(xiàng)目雖不完全,但也在一定程度上反映,網(wǎng)絡(luò)應(yīng)用程序作為地球科學(xué)建模和數(shù)據(jù)的媒介越來越受關(guān)注。文中所列網(wǎng)絡(luò)應(yīng)用程序質(zhì)量和功能差異很大,一些網(wǎng)絡(luò)應(yīng)用程序作為原型或演示系統(tǒng)開發(fā),如Feng等在2011年開發(fā)的濕地生態(tài)在線服務(wù)模型GeoMSP;另一些則作為全功能數(shù)據(jù)和建模服務(wù)開發(fā),如USGS地理數(shù)據(jù)門戶網(wǎng)站。這些網(wǎng)絡(luò)應(yīng)用程序涉及生態(tài)學(xué)、地質(zhì)學(xué)、氣象學(xué)、測繪學(xué)乃至于火星表面信息處理等諸多領(lǐng)域。此外,綜述中的WebGIS應(yīng)用至少包含一個FOSS軟件組件,大多數(shù)采用多個FOSS項(xiàng)目來滿足各種空間數(shù)據(jù)操作和管理的需求。本章將按先前劃分的類別,對比分析FOSS4G程序并剖析它們的技術(shù)優(yōu)勢。

3.1 空間數(shù)據(jù)庫軟件比較

在本綜述的WebGIS應(yīng)用程序中,有19個使用了帶有空間數(shù)據(jù)擴(kuò)展的SQL數(shù)據(jù)庫。其中,PostGIS因?yàn)槠涔δ苋妫l(fā)訪問能力強(qiáng)等特性在空間數(shù)據(jù)庫應(yīng)用中占有優(yōu)勢,是絕大多數(shù)WebGIS應(yīng)用開發(fā)的首選。SpatiaLite因?yàn)镾QLite對于Web環(huán)境的支持較弱,因此使用率較低。MySQL在一般網(wǎng)絡(luò)應(yīng)用開發(fā)中的使用率較高,但目前在WebGIS應(yīng)用開發(fā)中使用較少。

PostGIS的優(yōu)勢在于:PostGIS對柵格數(shù)據(jù)具有廣泛的支持,而SpatialLite和MySQL Spatial則不支持柵格數(shù)據(jù)。PostGIS提供了超過400個空間數(shù)據(jù)操作函數(shù),可以對柵格和矢量數(shù)據(jù)執(zhí)行空間分析;而MySQL Spatial的空間函數(shù)庫只有大約90個函數(shù)。PostGIS支持各類空間坐標(biāo)參考系統(tǒng),而SpatialLite和MySQL Spatial的空間分析函數(shù)忽略空間參考,使用歐氏平面參與空間數(shù)據(jù)分析,降低了數(shù)據(jù)處理的精度。雖然當(dāng)前PostGIS相較于其他空間數(shù)據(jù)庫具有一定優(yōu)勢,但隨著地理信息系統(tǒng)發(fā)展,MySQL Spatial可能會成為PostGIS的競爭對手,因?yàn)樗鳛榛ヂ?lián)網(wǎng)應(yīng)用的標(biāo)準(zhǔn)數(shù)據(jù)庫管理系統(tǒng)擁有龐大的用戶基礎(chǔ)。表6總結(jié)了文中所列空間數(shù)據(jù)庫及其特點(diǎn)。

表6 空間數(shù)據(jù)庫主要特征比較Table 6 Comparison of notable features of spatial databases

3.2 空間數(shù)據(jù)發(fā)布軟件比較

在綜述的WebGIS應(yīng)用中,有23個使用空間數(shù)據(jù)發(fā)布軟件。其中MapServer和GeoServer應(yīng)用數(shù)目相差無幾,均高于deegree和Geomajas GWT Server。比較來看,GeoServer和deegree提供了Web頁面用于在服務(wù)器上做服務(wù)發(fā)布和數(shù)據(jù)配置,比MapServer基于文件的配置更加友好,操作更加直觀。然而,MapServer允許開發(fā)人員通過MapScript在不同的編程環(huán)境中以編程方式配置,并且MapServer支持PHP、Python、Perl、Ruby、Java和.NET等多種語言。而GeoServer和deegree卻僅可通過REST API配置。在性能方面,MapServer憑借C語言的開發(fā)基礎(chǔ),性能略優(yōu)于GeoServer和deegree。在配置環(huán)境方面,Geomajas和degree配置較為復(fù)雜,需要有一定的開發(fā)經(jīng)驗(yàn)才能定制界面或功能。上述四個軟件中,degree的可視化和編輯能力最為有限,但如果用其分發(fā)數(shù)據(jù),使之成為像GeoNetwork那樣的目錄服務(wù),它仍是一個可用工具。表7總結(jié)了文中所列空間數(shù)據(jù)發(fā)布軟件及其特點(diǎn)。

表7 空間數(shù)據(jù)發(fā)布軟件主要特征比較Table 7 Comparison of notable features of spatial data publishing software

3.3 制圖與可視化軟件比較

在綜述的WebGIS應(yīng)用程序中,有32個應(yīng)用使用制圖與可視化軟件。其中,OpenLayers憑借其優(yōu)秀的前端渲染能力成為應(yīng)用制圖與可視化軟件開發(fā)的首選。Google Earth使用率高主要源自于Google地圖服務(wù)的強(qiáng)大支持。且與OpenLayers和Leaflet相比,Google Earth具有提供三維可視化的優(yōu)勢。但在支持的數(shù)據(jù)格式方面,Google Earth僅限于KML或JavaScript API的數(shù)據(jù)。而OpenLayers和Leaflet則支持多種格式,包括KML、GML、GeoJSON、OGC制圖服務(wù)(如WMS和WFS)等。另外,OpenLayers、Leaflet和Google Earth還允許用戶在地圖上以繪圖的方式進(jìn)行交互式輸入。QGIS作為FOSS客戶端程序,實(shí)現(xiàn)了OGC的各項(xiàng)服務(wù),并依托豐富的開源類庫,實(shí)現(xiàn)了媲美ArcGIS的功能,其QGIS Server插件可以方便地發(fā)布用戶數(shù)據(jù),在制圖與可視化方面表現(xiàn)出色。表8總結(jié)了文中所列制圖與可視化軟件及其特點(diǎn)。

表8 制圖與可視化軟件主要特征比較Table 8 Comparison of notable features of mapping libraries

3.4 網(wǎng)絡(luò)空間分析軟件比較

在綜述的WebGIS應(yīng)用程序中,有16個使用空間分析軟件。其中,52°North WPS安裝簡單配置容易,提供了大多數(shù)“開箱即用”的分析功能。它能連接Sextante和ArcGIS Server地理處理類庫,并可調(diào)用Python、R及Java編寫的自定義數(shù)據(jù)分析腳本,因此在開源WebGIS開發(fā)中應(yīng)用較高。而PyWPS安裝配置過程復(fù)雜,有必須安裝的依賴項(xiàng),且僅支持用Python和R編寫的進(jìn)程,實(shí)際開發(fā)中應(yīng)用較少。ZOO-Project實(shí)現(xiàn)了以上二者的大部分功能,且相較于以上兩者,率先支持WPS 2.0標(biāo)準(zhǔn),雖然當(dāng)前應(yīng)用率不如前兩者高,但其強(qiáng)大的兼容性可能會使其成為未來網(wǎng)絡(luò)空間分析軟件的主流。空間分析軟件及主要特點(diǎn)總結(jié)如表9。

表9 網(wǎng)絡(luò)空間分析軟件主要特征比較Table 9 Comparison of notable features of spatial analysis software

3.5 WebGIS常用開發(fā)軟件比較

GIS開發(fā)采用的軟件比較混雜,但開發(fā)語言相對集中。在文中總結(jié)的26個WebGIS開發(fā)項(xiàng)目中,Java是WebGIS開發(fā)的首選。原因主要有:一是實(shí)現(xiàn)OGC標(biāo)準(zhǔn)的許多軟件由Java實(shí)現(xiàn),如GeoServer、deegree、52°North WPS等。二是許多成熟的GIS開發(fā)框架均可與Java集成,如GeoTools和JTS Topology Suite等。PHP是當(dāng)前最流行的網(wǎng)絡(luò)開發(fā)語言,是WebGIS應(yīng)用開發(fā)的第二選擇,有著巨大的群眾基礎(chǔ)。此外,Python也是WebGIS開發(fā)者的常見選擇。Python開發(fā)社區(qū)提供了豐富地理數(shù)據(jù)處理開發(fā)包,方便用戶按需開發(fā)。

大多數(shù)Web開發(fā)框架都提供了網(wǎng)絡(luò)開發(fā)的基本功能,如用戶管理、數(shù)據(jù)庫交互、創(chuàng)建動態(tài)HTML和文件上傳處理等。WebGIS開發(fā)軟件之間的主要區(qū)別在于Web開發(fā)框架解決每個開發(fā)任務(wù)的方法。比如,Drupal和CKAN提供了網(wǎng)絡(luò)用戶管理系統(tǒng)原型,可以實(shí)現(xiàn)登錄、注銷、忘記密碼和用戶個人資料頁面等功能。Django也提供了一個用戶管理系統(tǒng)原型,但是創(chuàng)建登錄、注銷和用戶配置文件網(wǎng)頁等任務(wù)都需要開發(fā)者二次開發(fā)。以上兩種方法各有優(yōu)劣,前者基礎(chǔ)功能較多開發(fā)方便,定制能力弱;后者功能較少,需要靠外部模塊集成開發(fā)額外功能,但定制能力強(qiáng)。在Web開發(fā)時,框架的選擇主要取決于WebGIS項(xiàng)目的需求、項(xiàng)目復(fù)雜度及開發(fā)人員的偏好等因素。此外,開發(fā)者在選擇Web開發(fā)框架時還需考慮開發(fā)團(tuán)隊(duì)編程經(jīng)驗(yàn)、地理數(shù)據(jù)庫支持能力、項(xiàng)目規(guī)模及項(xiàng)目所需功能等,尤其是涉及到網(wǎng)絡(luò)空間分析功能時更應(yīng)該慎重選擇Web開發(fā)框架。表10總結(jié)了文中涉及的FOSS Web開發(fā)軟件及其主要技術(shù)特點(diǎn)。

表10 WebGIS常用開發(fā)軟件及其主要技術(shù)特點(diǎn)比較Table 10 Comparison of notable features of WebGIS development software

3.6 國內(nèi)開源WebGIS產(chǎn)業(yè)發(fā)展與典型應(yīng)用分析

目前,全球97%的軟件開發(fā)者和99%的企業(yè)使用開源軟件,全球70%以上的新立項(xiàng)軟件項(xiàng)目采用開源模式。在開源為軟件工業(yè)帶來變革的同時,也促進(jìn)了WebGIS的發(fā)展,尤其當(dāng)前開發(fā)基本采用Java、PHP等開源語言,幾乎主導(dǎo)了WebGIS應(yīng)用開發(fā)。當(dāng)前國內(nèi)較為主流的云計(jì)算平臺(如阿里云、華為云和騰訊云等)都提供PostGIS、MySQL等開源數(shù)據(jù)庫架構(gòu)與開發(fā)業(yè)務(wù)。MapServer和GeoServer是當(dāng)前應(yīng)用最為廣泛的空間數(shù)據(jù)發(fā)布軟件,其充分兼容國內(nèi)主流的地圖服務(wù)(如天地圖、百度、高德地圖服務(wù)),因而諸多WebGIS應(yīng)用使用其進(jìn)行數(shù)據(jù)發(fā)布和共享。Openlayers、Leaflet等制圖可視化軟件發(fā)展相對成熟,已廣泛應(yīng)用于移動端地圖應(yīng)用中,如高德地圖手機(jī)端APP深度集成Leaflet來實(shí)現(xiàn)地圖可視化。而52°North WPS等基于WPS的空間分析軟件仍處于探索階段,應(yīng)用率不高。可以看出,以FOSS為開源的WebGIS軟件已經(jīng)有效促進(jìn)了國內(nèi)地理信息產(chǎn)業(yè)發(fā)展。

但就國內(nèi)當(dāng)前應(yīng)用狀況而言,基于FOSS的國產(chǎn)WebGIS軟件仍然相對較少,技術(shù)和應(yīng)用潛力有待進(jìn)一步挖掘。國內(nèi)針對開源WebGIS的開發(fā)都旨在解決一些具體應(yīng)用問題,比較典型的應(yīng)用包括:國家自然保護(hù)區(qū)信息服務(wù)系統(tǒng)NRS,青藏公路凍土災(zāi)害信息系統(tǒng),JUST京東城市時空數(shù)據(jù)引擎等。這些典型應(yīng)用功能較為單一,可在此基礎(chǔ)上進(jìn)一步深化完善,為各類WebGIS應(yīng)用提供技術(shù)支持。

4 結(jié)語

本文從空間數(shù)據(jù)庫、空間數(shù)據(jù)發(fā)布、制圖與可視化和空間分析等方面對當(dāng)前公開發(fā)表的85個開源WebGIS應(yīng)用程序進(jìn)行了總結(jié),梳理了開源WebGIS應(yīng)用開發(fā)中常用的FOSS軟件和主要技術(shù)。當(dāng)前國內(nèi)開源WebGIS開發(fā)還處于早期階段,其技術(shù)和應(yīng)用潛力仍有待進(jìn)一步挖掘,通過本文對FOSS軟件及技術(shù)進(jìn)行總結(jié)和歸納,可以使更多學(xué)者和技術(shù)人員了解開源WebGIS軟件,促進(jìn)國內(nèi)開源WebGIS發(fā)展,推動國內(nèi)GIS軟件技術(shù)進(jìn)步,形成可替代的國產(chǎn)開源WebGIS軟件,促進(jìn)技術(shù)自主創(chuàng)新和技術(shù)獨(dú)立。但也需要看到的是,當(dāng)前FOSS軟件開發(fā)仍有很多技術(shù)問題亟需解決,如各個不同的FOSS軟件自成體系,把不同軟件充分集成依然是一個技術(shù)難點(diǎn)。

猜你喜歡
可視化數(shù)據(jù)庫用戶
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運(yùn)行動態(tài)分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
基于CGAL和OpenGL的海底地形三維可視化
“融評”:黨媒評論的可視化創(chuàng)新
傳媒評論(2019年4期)2019-07-13 05:49:14
數(shù)據(jù)庫
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數(shù)據(jù)庫
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數(shù)據(jù)庫
主站蜘蛛池模板: 久青草网站| 国产一区在线观看无码| 亚洲AⅤ无码日韩AV无码网站| 亚洲综合片| 爱色欧美亚洲综合图区| 色综合久久无码网| 无码日韩视频| 伊人激情久久综合中文字幕| 国产欧美视频在线观看| 在线色综合| 欧美激情综合一区二区| 一本大道在线一本久道| 免费人成黄页在线观看国产| 国产免费怡红院视频| 国产又大又粗又猛又爽的视频| 高清精品美女在线播放| 亚洲av日韩av制服丝袜| 久久黄色一级片| 另类重口100页在线播放| 中文字幕自拍偷拍| 亚洲无码视频图片| 亚洲制服丝袜第一页| 黄色福利在线| 国产美女在线观看| 亚洲男人的天堂久久精品| 一区二区三区成人| 综合色88| 精品1区2区3区| 亚洲欧美日韩中文字幕一区二区三区| 99久久99这里只有免费的精品| 男女性午夜福利网站| 欧美一级高清片欧美国产欧美| 欧美日韩v| 亚洲国产精品久久久久秋霞影院| 亚洲国产欧美目韩成人综合| 亚洲综合极品香蕉久久网| 国产福利免费在线观看| 最新亚洲人成网站在线观看| 国产午夜精品一区二区三区软件| 欧美特黄一免在线观看| 欧美一级夜夜爽www| 成人国产精品视频频| 亚洲欧洲美色一区二区三区| 亚洲国产精品一区二区第一页免 | 91精品专区国产盗摄| 国产精品久久久久久久久| 丁香五月激情图片| 精品国产一二三区| 另类欧美日韩| 婷婷亚洲最大| 国产在线观看成人91| 一级毛片免费的| 中文字幕亚洲精品2页| 亚洲中文精品人人永久免费| 日韩黄色大片免费看| 国产精品成人观看视频国产 | 亚洲人人视频| 真实国产精品vr专区| 国产原创演绎剧情有字幕的| www中文字幕在线观看| 亚洲一区二区黄色| 国产精品99r8在线观看| 日韩中文无码av超清| 国内精品免费| 国产女人在线视频| 男女性色大片免费网站| 18禁影院亚洲专区| 亚洲性日韩精品一区二区| 日本在线欧美在线| 最新国产你懂的在线网址| 制服无码网站| 成人国产精品视频频| 精品亚洲麻豆1区2区3区| 51国产偷自视频区视频手机观看| 97视频免费在线观看| 国产在线自揄拍揄视频网站| 国产福利免费观看| 女人爽到高潮免费视频大全| 亚洲有无码中文网| 凹凸国产分类在线观看| 亚洲欧洲日产国产无码AV| 91精品专区国产盗摄|