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

基于NodeJS和ArcGIS緊湊切片的OGC-WMTS服務的研究與實現

2014-07-27 06:19:30姜成楨熊志偉殷金榮
創新科技 2014年24期
關鍵詞:資源服務信息

姜成楨 熊志偉 殷金榮

(黃河勘測規劃設計有限公司,河南 鄭州 450008)

基于NodeJS和ArcGIS緊湊切片的OGC-WMTS服務的研究與實現

姜成楨 熊志偉 殷金榮

(黃河勘測規劃設計有限公司,河南 鄭州 450008)

在一般情況下都是用ArcGIS Desktop制作精美的地圖,用ArcGIS Server發布為地圖切片服務,但是,在有些時候僅需發布地圖切片服務,如何將龐大的后臺輕量化,筆者進行了摸索,通過NodeJS來發布符合OGC-WMTS規范的ArcGIS緊湊地圖切片是一個不錯的方案。

NodeJS;ArcGIS;OGC-WMTS;Compact Cache;緊湊切片緩存;bundle

1 引言

ArcGIS是功能最強大和性能最好的GIS平臺,具備一體化的GIS解決方案,具有強大的地圖制作、空間數據管理、空間分析、空間信息整合、發布與共享的能力。其中ArcGIS for Desktop為GIS專業人士提供強大的高級的地理數據建庫、分析、處理與地圖制圖等功能;ArcGIS for Server通過Web Services在網絡上提供GIS資源和功能服務,廣泛用于企業級 GIS實現以及各種Web GIS應用程序中。ArcGIS功能強大,當然價格也是很昂貴,而在現實中往往有這樣的需求:在實際的產品部署中只是用ArcGIS Server來發布電子地圖切片,這提高了成本并造成了資源的浪費,那有沒有一種廉價的替代方案呢?生產階段依然使用ArcGIS Desktop配置地圖并生成地圖切片,在部署時不使用ArcGIS Server而用其他方式發布符合OGC-WMTS規范的地圖服務,對此,筆者進行了探索。為了實現這個目的,首先需要了解ArcGIS的地圖切片結構;之后需要了解OGC-WMTS服務規范;在此基礎上給出實現,實現的技術多種,在這里筆者選用NodeJS。

2 ArcGIS緊湊型存儲格式分析

從ArcGIS 10開始增加了一種稱之為緊湊型存儲(Compact)的新的切片緩存文件格式,與之前的松散型存儲(Exploded)相比,它有文件個數少、節約存儲空間、容易部署和遷移等諸多優點,已經成為廣泛使用的格式。其核心為bundle和bundlx兩種文件。

2.1 其中bundle文件存儲地圖切片數據,bundlx是切片數據的索引文件。一個bundle文件中最多可以存儲128×128(16384)個地圖切片,以低位到高位的方式4個字節記錄切片數據長度,之后存儲切片的真實數據信息,如此循環。當在一個層級里,地圖切片數多余16384個,會分成多個bundle文件存儲。

2.2 bundlx文件比較簡單,大小81952字節,其中文件起始16字節和文件結束16字節為標識信息,與索引無關,剩余的81920字節為有效索引信息,以每5個字節重復,5個字節同樣以低位到高位的方式記錄了對應的切片在bundle文件中的偏移量,而偏移量的記錄按照列排順序。

2.3 對于每一個地圖切片,首先通過bundlx首先找到bundle中切片內容的偏移,然后從bundle文件中取出4個字節的長度數據,再隨后根據這個長度即可讀取真實的切片數據。

3 WMTS服務規范基本要求

WMTS(OpenGIS Web Map Tile Service,切片地圖網絡服務)提供了一種采用預先定義地圖切片方法來發布數字地圖服務的標準化解決方案。與WMS相比,WMTS服務器不提供可定制地圖服務,而是直接返回實現預先生成的切片,在這個過程不需要任何圖像操作或地理信息處理過程,這種方式盡管犧牲了提供定制地圖的靈活性,但是,卻能夠很好地滿足性能與伸縮性的需要。對于WMTS服務端,需要響應來自客戶端的以面向資源的架構風格(KVP、SOAP)的資源請求或以面向過程的架構風格(REST)的操作請求,請求包括3類資源:

3.1 服務元數據(ServiceMetadata)資源(面向過程架構風格下對GetCapabilities操作的響應),該資源描述指定服務器實現的能力和包含的信息,在面向過程的架構風格中該操作也支持客戶端與服務器間的標準版本協商,此請求服務器端必須響應。直接利用ArcGIS生成的服務元數據進行適當修改并返回。

3.2 切片(Tile)資源(面向過程架構風格下GetTile操作的響應),此請求服務器端必須實現。找到切片所在的bundle并打開加載Tile返回。

3.3 要素信息(FeatureInfo)資源(對面向過程架構風格下GetFeatureInfo操作的響應),服務器端可選擇實現。該資源提供了切片中某一特定像素位置處地物要素的信息,在這里不實現其操作。

4 基于NodeJS的OGC-WMTS實現

表1 模塊功能說明

NodeJS是一個可以快速構建網絡服務及應用的平臺,采用了Javascript V8引擎,性能很好,同時還提供了很多系統級的API,如文件操作、網絡編程等。它以單進程、單線程模式運行,事件驅動機制通過內部單線程高效率地維護事件循環隊列來實現的,不存在多線程的資源占用和上下文切換。

由于NodeJS官方API基本都是以會回調方式傳遞函數返回值,容易出現層層嵌套,形成回調金字塔,代碼可能性變差,調試困難,出現異常后難以排查。借助Promise可以解決這個問題,目前實現Promise標準的模塊有很多,如Q、bluebird和Deferred,筆者在這里使用的是Q,可以通過npm install Q-g來安裝這個插件。

具體到模塊劃分,可分為Loader模塊、Cache模塊、parser模塊和Wmts模塊。其中Wmts是主模塊,其邏輯是通過parser的parse方法解析客戶端請求,若客戶端請求ServiceMetadata信息,則首先檢查SmdCache,若已經加載過該服務的元數據信息則直接返回,若未加載過則調用SmdLoader加載并存入緩存后返回;若客戶端請求Tile,則先檢查TileCache,若已加載過則直接返回,無則檢查BundleCache,若有則直接通過fd加載Tile,若無則通過BundleLoader加載bundle然后再加載Tile,緩存后返回給客戶端。

為了減少不必要的I/O進行緩存是必不可少的,除了Cache數據外,還記錄訪問次數和最后一次訪問的時間,有了這兩個信息對不同的Cache就可以采用不同的緩存調度策略。SmdCache可以一直保存ServiceMetadata信息,因為數據量不會太大,而且為了提高響應效率,可以在服務啟動時就進行加載WMTS服務的ServiceMetadata信息。BundleCache可以采用LRU策略,即最少使用頁面置換算法;TileCache則采用訪問次數計數與LRU相結合的調度策略,替換掉訪問次數少、最久沒有被請求的地圖切片,同樣為了提高訪問速度,在系統啟動開始可以預先加載熱點區域的地圖切片。

5 測試

開發完成后需要進行嚴格的功能和性能測試,在這里筆者選擇使用Openlayers進行功能測試,結果正常。采用微軟WAST壓力測試工具進行性能測試取得了不錯的成績。

6 結語

在只有簡單的發布地圖切片的需求時,采用此種方案是可行的,除了能大大的減少成本支出,還具有拷貝即部署的特點。

[1]劉穎.基于ArcGIS Server的移動地圖Mashup應用系統設計與研究[J].北京郵電大學,2012(12).

P208

A

1671-0037(2014)12-102-2

姜成楨,男,工程師,研究方向:測繪與地理信息系統開發。

猜你喜歡
資源服務信息
基礎教育資源展示
一樣的資源,不一樣的收獲
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
資源回收
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
資源再生 歡迎訂閱
資源再生(2017年3期)2017-06-01 12:20:59
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 福利视频一区| 国禁国产you女视频网站| 无码人中文字幕| 国产亚洲欧美在线中文bt天堂| 中文国产成人久久精品小说| julia中文字幕久久亚洲| 91人人妻人人做人人爽男同| 欧美一区二区人人喊爽| 玖玖精品视频在线观看| 精品国产99久久| 五月婷婷导航| 日日碰狠狠添天天爽| 天堂成人在线| 2020精品极品国产色在线观看 | 色九九视频| 国产精品福利尤物youwu| 国产成人精品18| av一区二区三区高清久久| 国产精品刺激对白在线| 国产精品成人一区二区不卡| 午夜啪啪福利| 国产网友愉拍精品视频| 亚洲日韩精品伊甸| 欧美一级99在线观看国产| 亚洲中文制服丝袜欧美精品| 91麻豆精品国产高清在线| 日本欧美中文字幕精品亚洲| 99r在线精品视频在线播放 | 日韩无码黄色网站| 在线网站18禁| 国产成人91精品| 天天爽免费视频| 中文字幕在线日韩91| 国产又大又粗又猛又爽的视频| 欧美在线国产| 国产玖玖玖精品视频| 国产在线观看91精品亚瑟| 国产va在线观看免费| 日本一区二区不卡视频| 91视频青青草| 亚洲国产综合精品中文第一| 日韩精品专区免费无码aⅴ| 国产va在线观看免费| 日韩精品无码免费一区二区三区| 伊人久热这里只有精品视频99| 亚洲开心婷婷中文字幕| 国产黄色爱视频| 亚洲精品福利视频| 亚洲色图综合在线| 国产成人综合亚洲欧洲色就色| 91亚洲精选| 欧美国产综合色视频| 日韩123欧美字幕| 国产美女91呻吟求| 欧美日韩国产在线人| 亚洲黄色视频在线观看一区| 亚洲中文字幕精品| 成人一级免费视频| AⅤ色综合久久天堂AV色综合| 狠狠ⅴ日韩v欧美v天堂| 国产午夜无码片在线观看网站| 国产欧美日韩一区二区视频在线| 亚洲无码高清视频在线观看 | 亚洲精品中文字幕无乱码| 欧美国产日本高清不卡| 亚洲首页国产精品丝袜| 欧美精品一区在线看| 青青草欧美| 人妻一本久道久久综合久久鬼色| 亚洲人在线| 国产一级裸网站| 她的性爱视频| 国模沟沟一区二区三区| 欧洲精品视频在线观看| 91精品人妻一区二区| 欧美69视频在线| 亚洲精品日产精品乱码不卡| 人妻少妇久久久久久97人妻| 中日无码在线观看| 一级做a爰片久久免费| 精品国产美女福到在线直播| 5388国产亚洲欧美在线观看|