• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      ArcGIS Server與GeoServer瓦片生成對(duì)比研究

      2013-08-20 01:00:10黃德志
      科技視界 2013年27期
      關(guān)鍵詞:瓦片圖層切片

      汪 龍 黃德志

      (中南大學(xué) 地球科學(xué)與信息物理學(xué)院,湖南 長(zhǎng)沙410083)

      0 引言

      傳統(tǒng)的WebGIS 對(duì)于客戶端提交的地圖請(qǐng)求,通常利用實(shí)時(shí)計(jì)算模式, 如用ArcIMS 發(fā)布地圖時(shí), 先由客戶端提交地圖請(qǐng)求, 通過ArcXML 將各項(xiàng)參數(shù)提交給服務(wù)器,服務(wù)器根據(jù)參數(shù)計(jì)算并生成客戶端所需圖形,再通過ArcXML 反饋給客戶端。 但是由于GIS 中需要訪問或處理的空間數(shù)據(jù)通常是海量的,受網(wǎng)絡(luò)帶寬限制,數(shù)據(jù)傳輸和瀏覽速度較慢,通??蛻魧?duì)每次請(qǐng)求要等待比較長(zhǎng)的時(shí)間。 針對(duì)這一問題,人們提出了地圖瓦片技術(shù),即地圖緩存技術(shù)[1]。

      目前,Google Map 的瓦片地圖服務(wù)是所有在線電子地圖服務(wù)中最好的服務(wù), 許多瓦片地圖服務(wù)都是基于Google Map 的地圖模式提出的。 GoogleMap 提供了完整的瓦片地圖、衛(wèi)星影像和應(yīng)用開發(fā)接口,用戶可以根據(jù)谷歌提供的API 方便的調(diào)用瓦片地圖。Google Map 生成瓦片地圖主要采用的是金字塔模型。在開源的地圖服務(wù)器中,GeoServer[2]是其中的代表,它采用與Google 類似的切割方法,將底圖和專題圖層分別切割。

      雖然地圖瓦片技術(shù)使WebGIS 的性能得到極大改善,但是切片之后的地圖以圖片形式存在, 當(dāng)客戶端對(duì)空間數(shù)據(jù)進(jìn)行在線編輯后,這種改變不能立即反饋給客戶端,而是需要后臺(tái)管理員對(duì)地圖進(jìn)行重新切片。 為了解決WebGIS 中地理數(shù)據(jù)需要頻繁編輯和編輯后的圖形不能在客戶端得到及時(shí)反映的問題,郭明武、彭清山、李黎[3]提出了地圖瓦片局部更新,在ArcGIS Server 融合緩存的基礎(chǔ)上,創(chuàng)建了自定義函數(shù)UpdateTile,根據(jù)所更新要素的坐標(biāo)返回,獲取對(duì)應(yīng)的切片,接著在后臺(tái)重新生成這個(gè)范圍內(nèi)的切片,并最終實(shí)現(xiàn)圖形顯示與數(shù)據(jù)更新的同步。 而GeoServer 和GeoWebCache 的瓦片緩存技術(shù)中的一致性維護(hù)機(jī)制則可以保證Web 緩存庫中的地圖信息與底層空間數(shù)據(jù)庫中的地圖信息一致,各Web 緩存數(shù)據(jù)庫之間信息一致。

      1 切片原理

      地圖瓦片技術(shù)將配置好的一定坐標(biāo)范圍的地圖,按照固定的若干個(gè)比例尺(瓦片級(jí)別)和指定圖片尺寸,在服務(wù)器端切成若干行及列的正方形圖片,以指定的格式保存成圖像文件,按一定的命名規(guī)則和組織方式存儲(chǔ)到服務(wù)器的目錄系統(tǒng)中或是數(shù)據(jù)庫系統(tǒng)里,形成金字塔模型的靜態(tài)地圖緩存。 瓦片金字塔模型是一種多分辨率層次模型,從瓦片金字塔的底層到頂層,分辨率越來越低,但表示的地理范圍不變,如圖1 所示。本文提出的地圖切圖方法是根據(jù)瓦片式地圖的金字塔模型結(jié)構(gòu),確定地圖服務(wù)平臺(tái)所要求的最大縮放級(jí)別數(shù),把縮放級(jí)別最低、地圖比例尺最大的地圖圖片作為金字塔的底層[4]。 每一縮放級(jí)別對(duì)應(yīng)相應(yīng)的地圖比例尺,根據(jù)研究區(qū)域的地理坐標(biāo)范圍,計(jì)算中央經(jīng)線,設(shè)置分度帶方法以及坐標(biāo)系統(tǒng)形成比例尺下的接圖表圖層文件,并根據(jù)國(guó)家基本比例尺地形圖的分幅編號(hào)方法計(jì)算所有的標(biāo)準(zhǔn)圖幅號(hào)。將每一級(jí)對(duì)應(yīng)的地圖接圖表對(duì)地圖文檔進(jìn)行切割,將生成的瓦片地圖以對(duì)應(yīng)的圖幅號(hào)進(jìn)行命名,按照分級(jí)的目錄組織結(jié)構(gòu)將文件存儲(chǔ)存儲(chǔ)在服務(wù)器硬盤以及Oracle 數(shù)據(jù)庫中,數(shù)據(jù)表的字段結(jié)構(gòu)為圖幅號(hào)、圖片路徑,在服務(wù)器端形成該地圖文檔相應(yīng)的地圖瓦片庫,便于客戶端對(duì)瓦片庫進(jìn)行索引和查找。

      2 研究方案

      2.1 研究?jī)?nèi)容

      (1)分別使用ArcGIS Server 和Geoserver 作為地圖服務(wù)器,對(duì)空間數(shù)據(jù)庫里存儲(chǔ)的地進(jìn)行切片,并在瀏覽器中顯示。

      (2)比較ArcGIS Server 與GeoServer 生成切片地圖的差異。

      2.2 研究方法和技術(shù)路線

      瓦片地圖服務(wù)體系結(jié)構(gòu),主要由三層組成,分別為客戶端、應(yīng)用服務(wù)端和數(shù)據(jù)庫。 客戶端為瀏覽器。 服務(wù)器端分為GIS 服務(wù)器和web 服務(wù)器,為服務(wù)層。數(shù)據(jù)庫中可存放地圖數(shù)據(jù)或者屬性數(shù)據(jù)等。發(fā)布地圖瓦片服務(wù)可通過GIS 服務(wù)器(如ArcGIS Server、GeoServer)讀取數(shù)據(jù)庫中存儲(chǔ)的地圖、或者計(jì)算機(jī)中的地圖文件,對(duì)其進(jìn)行切片,然后通過web 服務(wù)器發(fā)布,這樣,用戶即可通過瀏覽器對(duì)切片地圖進(jìn)行訪問。在客戶端,還可通過OpenLayers、GMap 等對(duì)地圖進(jìn)行修飾,以獲得更好的用戶體驗(yàn)。

      2.2.1 使用ArcGIS Server 發(fā)布瓦片地圖

      用ArcGIS Server 發(fā)布瓦片地圖,GIS 服務(wù)器為ArcGIS Server,Web 服務(wù)器為IIS,數(shù)據(jù)庫為Oracle。

      研究步驟為:

      1)環(huán)境搭建: ArcGIS Server10.0+ ArcSDE for Oracle+ Oracle 10g+Visual Studio 2010。

      2)在ArcCatalog 中建立與Oracle 數(shù)據(jù)庫的連接。

      3) 將shapefile 文件通過ArcSDE 保存到Oracle 數(shù)據(jù)庫中。 在ArcMap 加載數(shù)據(jù)庫中地圖,整飾地圖,形成MXD 文檔。

      4)通過ArcGIS Server Manager 發(fā)布地圖服務(wù),用桌面系統(tǒng)調(diào)用該服務(wù)。

      5)地圖切片。 地圖發(fā)布成功后,在ArcCatalog 中設(shè)置好切圖的坐標(biāo)原點(diǎn)、輸出圖片的格式、大小、圖片的DPI 和各級(jí)緩存的比例。

      6)創(chuàng)建web 應(yīng)用程序,調(diào)用地圖服務(wù),并將切片前(圖1)與切片后的地圖縮放速度做對(duì)比(圖1)。

      圖1 切片前地圖加載速度

      圖2 切片后地圖加載速度

      2.2.2 使用GeoServer 發(fā)布瓦片地圖

      用GeoServer 發(fā)布瓦片地圖,GIS 服務(wù)器為GeoServer,Web 服務(wù)器為Tomcat,數(shù)據(jù)庫為PostGIS。

      研究步驟為:

      1) 環(huán)境搭 建:GeoServer+Tomcat+PostGIS+PostgreSQL+NetBeans IDE

      2) 利用PostGIS 將地圖文件導(dǎo)入到數(shù)據(jù)庫中。 使用PostGIS +PostgreSQL 數(shù)據(jù)庫, 用PostGIS 提供的插件shape file to postgis importer 把shapefile 數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫。

      3)將數(shù)據(jù)庫中的地圖添加到GeoServer 中,將要進(jìn)行切片的圖層添加到一個(gè)Group 中并進(jìn)行風(fēng)格設(shè)置。

      4)利用GeoWebCache 生成瓦片地圖。 設(shè)置好切片的級(jí)別、坐標(biāo)系統(tǒng)、保存圖片格式及進(jìn)行切片的線程數(shù)即可。

      按照上述步驟生成切片,對(duì)比切片前后加載圖片時(shí)間(圖3 為切片前放大級(jí)數(shù)為7-14 時(shí)的加載時(shí)間對(duì)比, 圖4 為切片后放大級(jí)數(shù)為7-17 時(shí)的具體加載時(shí)間):

      圖3 切片前放大級(jí)數(shù)為7-14 時(shí)的加載時(shí)間對(duì)比

      圖4 切片后放大級(jí)數(shù)為7-17 時(shí)的具體加載時(shí)間(加載時(shí)間為各時(shí)間之和)

      3 實(shí)驗(yàn)結(jié)果分析

      3.1 ArcGIS Server 切片前后縮放地圖速度對(duì)比

      表1 ArcGIS Server 切片前后縮放速度對(duì)比

      用ArcGIS Server 生成的瓦片地圖的大小為28.5MB。

      由表1 可以看出,切片前縮放的平均速度約為676ms,切片后平均速度約為159ms,瓦片技術(shù)在這個(gè)試驗(yàn)中提高速度約為4 倍。

      3.2 GeoServer 切片前后加載地圖速度對(duì)比

      表2 GeoServer 切片前后加載速度對(duì)比

      用GeoServer 生成的瓦片地圖占用空間220MB。

      由表2 可以看出,切片前縮放的平均速度約為8.86s,切片后縮放的平均速度約為737.7ms, 瓦片技術(shù)在這個(gè)試驗(yàn)中提高速度約為12倍。

      3.3 ArcGIS Server 與GeoServer 切片對(duì)比

      本文從渲染效果、簡(jiǎn)便程度、效率、經(jīng)濟(jì)、空間等五個(gè)主要方面進(jìn)行切片效果對(duì)比。

      3.3.1 渲染效果

      ArcGIS Server 對(duì)發(fā)布的地圖服務(wù)進(jìn)行渲染可以在arcgis 系列軟件中直接設(shè)置(設(shè)置mxd 文件渲染,渲染每個(gè)圖層),選擇程序提供的渲染模式,也可以自定義渲染模式,還可以加載拷貝的style,渲染文件可移植性強(qiáng),方便快捷,效果良好。

      GeoServer 對(duì)發(fā)布的地圖渲染是通過渲染每個(gè)圖層來實(shí)現(xiàn)的。 每個(gè)圖層發(fā)布的時(shí)候,可以選擇GeoServer 提供的少量渲染模式,可選的模式比較少, 但是和ArcGIS Server 相同的是, 也可以自定義渲染模式,還可以加載拷貝的xml 文件,修改已有的xml 渲染文件,渲染文件可移植性強(qiáng),同樣方便快捷。

      總體來說, 如果不需要自定義特別的渲染模式的話,ArcGIS Server 選擇性多,有優(yōu)勢(shì)。 操作過程中,ArcGIS Server 操作快捷方便,調(diào)整效果方便,有優(yōu)勢(shì),但是需要ArcGIS Destop 桌面應(yīng)用程序才可以操作,有局限性。 GeoServer 操作界面簡(jiǎn)便,不需要特定軟件環(huán)境,但是效果不直觀,相比于ArcGIS Server 不夠方便。 如果需要自定義特別的渲染模式, 兩種都方便快捷, 這種情況下GeoServer 比ArcGIS Server方便,因?yàn)槠洳恍枰囟ㄜ浖h(huán)境。

      3.3.2 簡(jiǎn)便程度

      GeoServer 環(huán)境配置相比ArcGIS Server 來說一定容易一些。 操作上,ArcGIS Server 發(fā)布服務(wù)、切片可直接通過桌面應(yīng)用程序完成,參數(shù)設(shè)置簡(jiǎn)單易理解,步驟簡(jiǎn)單。 GeoServer 發(fā)布服務(wù)需要先建工作空間、store、發(fā)布layer,發(fā)布過程中選擇渲染方式,投影等參數(shù),過程相比ArcGIS Server 要復(fù)雜。 GeoServer 切片是通過geowebcache 服務(wù)完成,其可以方便的設(shè)置切片各參數(shù),保存類型位置等。 ArcGIS Server 切片使用緊湊模式緩存時(shí),速度比GeoServer 切片快的多,ArcGIS Server 切片使用松散模式緩存時(shí),速度也比GeoServer 切片稍快。 除此之外,地圖發(fā)布之后,GeoServer 修改地圖服務(wù)需修改具體圖層然后重新切片,操作不方便,但是ArcGIS Server 提供局部更新操作支持。

      3.3.3 效率

      對(duì)于相同地圖服務(wù),ArcGIS Server 切片使用緊湊模式時(shí), 切片時(shí)間大大少于GeoServer 切片時(shí)間;ArcGIS Server 切片使用松散模式時(shí),切片時(shí)間略多于GeoServer 切片時(shí)間。 讀取緩存文件 (圖片) 時(shí),ArcGIS Server Manager 要略慢于GeoServer。

      3.3.4 經(jīng)濟(jì)

      ArcGIS 系列軟件是商業(yè)軟件,需購買,且相當(dāng)貴;而GeoServer 以及postgis 等軟件都是開源軟件,免費(fèi),容易獲取。

      3.3.5 空間

      ArcGIS Server 切片使用緊湊模式時(shí),保存的緩存文件不是直接的jepg/png 等圖片格式,而是ArcGIS 識(shí)別的一種特別格式,其緩存文件大小遠(yuǎn)小于GeoServer 對(duì)相同服務(wù)的切片緩存。

      4 結(jié)論

      本文詳細(xì)論述了使用ArcGIS Server 和GeoServer 進(jìn)行瓦片地圖生成的原理及過程,并對(duì)兩者進(jìn)行了對(duì)比。ArcGIS Server 在地圖渲染、切片效率、節(jié)約存儲(chǔ)空間方面要優(yōu)于GeoServer,但是GeoServer 在易用性、可移植性、經(jīng)濟(jì)性方面會(huì)更有優(yōu)勢(shì)。用戶可根據(jù)這些方面對(duì)地圖服務(wù)平臺(tái)進(jìn)行選擇。

      [1]蘇旭明,譚建成.WebGIS 中瓦片地圖關(guān)鍵技術(shù)研究[J].北京測(cè)繪,2012(2):9-12.

      [2]陽華,劉振宇,許文明.GeoServer 瓦片緩存機(jī)制研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2011(4):63-65.

      [3]郭明武,彭清山,李黎.ArcGIS Server 中地圖瓦片實(shí)時(shí)在線局部更新方法研究[J].測(cè)繪通報(bào),2012(2):35-38.

      [4]Scott Davis.GIS for Web Developers[M].蔣波濤,譯.北京:電子工業(yè)出版社,2008.

      [5]黃夢(mèng)龍.瓦片地圖技術(shù)在桌面端GIS 中的應(yīng)用[J].地理空間信息,2011,9(4):149-151.

      [6]許虎, 聶云峰, 舒堅(jiān). 基于中間件的瓦片地圖服務(wù)設(shè)計(jì)與實(shí)現(xiàn)[J].地球信息科學(xué)學(xué)報(bào), 2010,12(4):562-567.

      [7]Aref W G, Kamel J, Mokbel M F. Analysis of Multi-dimension Space Filling Curves[J]. Geoinformatica, 2003,7(3):179-209.

      [8]Chen K L, Chang Y I. Neighbor-finding Based on Space-filling Curves[J].Information Systems, 2005,30(3):205-226.

      猜你喜歡
      瓦片圖層切片
      一種基于主題時(shí)空價(jià)值的服務(wù)器端瓦片緩存算法
      慣性
      巧用混合圖層 制作抽象動(dòng)感森林
      基于SDN與NFV的網(wǎng)絡(luò)切片架構(gòu)
      腎穿刺組織冷凍切片技術(shù)的改進(jìn)方法
      圖層法在地理區(qū)域圖讀圖中的應(yīng)用
      冰凍切片、快速石蠟切片在中樞神經(jīng)系統(tǒng)腫瘤診斷中的應(yīng)用價(jià)值比較
      淺析“遞層優(yōu)化法”在礦井制圖中的應(yīng)用
      河南科技(2014年6期)2014-04-04 08:00:42
      基于NoSQL數(shù)據(jù)庫的瓦片地圖服務(wù)
      Photoshop圖層的解讀
      涿鹿县| 英超| 前郭尔| 托克托县| 武功县| 武隆县| 隆德县| 阿拉善左旗| 祁连县| 盖州市| 呼图壁县| 通化县| 肇源县| 屯门区| 青龙| 正蓝旗| 白水县| 纳雍县| 保靖县| 上蔡县| 法库县| 渝北区| 嘉善县| 石柱| 龙州县| 肥西县| 顺义区| 陇南市| 安西县| 常德市| 峨边| 南安市| 高阳县| 蒲江县| 南丹县| 元朗区| 闸北区| 铜梁县| 宜黄县| 繁峙县| 池州市|