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

基于COG的遙感影像地圖服務快速構建方法

2021-06-28 01:29:58陳昱行劉善偉何亞文
海洋科學 2021年5期
關鍵詞:瓦片服務

陳昱行, 盛 輝, 劉善偉, 何亞文

基于COG的遙感影像地圖服務快速構建方法

陳昱行, 盛 輝, 劉善偉, 何亞文

(中國石油大學(華東) 海洋與空間信息學院, 山東 青島 266580)

如今主流的地圖服務軟件中影像圖層的發布需要手動指定參數, 不利于影像圖層自動化發布。本文搭建私有對象存儲服務管理遙感數據, 利用COG(cloud optimized GeoTIFF)支持局部訪問的特性, 優化影像瓦片動態創建速度, 實現了影像自動發布的瓦片地圖服務, 改進了瓦片唯一標識碼生成算法, 提高了瓦片緩存的讀寫性能。在實例應用中, 本文實現的遙感影像地圖服務與GeoServer相比, 在瓦片動態創建中性能相近, 在處理已緩存瓦片時更有優勢, 具有應用前景。

遙感影像; 地圖服務; 瓦片金字塔

隨著遙感對地觀測技術的發展, 遙感數據在國土資源、海洋環境、氣象等各行業中被廣泛應用, 成為時空分析的重要數據來源。為更好地管理、共享這些遙感數據, 國內研究者基于分布式技術做了大量的基礎研究[1-4], 同時, 如何能夠在數據持續更新情況下, 為不同領域的用戶提供及時的、便捷的遙感數據共享服務[1], 成為遙感應用領域的研究熱點。

遙感數據共享包括數據共享和數據預覽。Web端的數據在線預覽依賴于地圖瓦片服務[5], 分為預先渲染和動態創建兩種方式: 預先渲染需要在瓦片生成完畢后才能提供服務, 具有更快的響應速度, 是構建地圖瓦片服務的主要方式[6-8]; 動態創建方式在節約計算資源方面更有優勢[9], 適合在數據持續更新情況下使用。目前, 國際上知名的地圖服務商業化軟件ArcGIS Server支持使用鑲嵌數據集(mosaic dataset)插件實現影像瓦片的動態創建[9]; 主流的開源地圖服務軟件GeoServer支持在不使用GWC(geowebcache)的情況下對遙感影像直接提供網絡地圖服務(web map service, WMS)服務。對于瓦片動態創建速度優化, 可以在原始數據內部增加Tiling和Overview[10], 也可使用近年提出的云優化GeoTIFF格式(cloud optimized GeoTIFF, COG), 它具有高效地提取GeoTIFF文件中的子區域的特性[11]。

主流地圖服務軟件支持瓦片的動態創建, 也有多種瓦片動態創建優化方法, 如今主流的地圖服務軟件中影像圖層的發布需要手動指定參數, 不利于影像圖層自動化發布; 遙感影像數據具有多源性, 無法采用統一方法優化瓦片動態創建速度[12]。針對上述問題, 本文使用對象存儲的WebHooks服務實現遙感影像數據向COG格式的自動轉化, 利用COG格式的特性優化遙感影像瓦片動態創建的性能, 設計實現遙感影像自動發布的地圖瓦片服務。

1 遙感影像瓦片快速動態創建基礎

1.1 COG內部結構

COG是標準GeoTIFF格式, 其對內部結構的改動都服從于GeoTIFF標準中允許但非強制要求的部分, 具體結構[13-14]如圖1所示。

頭文件區中, 標準TIFF簽名后有一個隱藏區(header ghost area), 包含自身的大小、圖像文件目錄(image file directory, IFD)的布局等描述信息[13]。頭文件區后面依次是全分辨率影像的IFD、略縮圖的IFD和影像數據存儲區域。

IFD是TIFF文件標準中一種文件頭的定義框架, 實質上是一組靈活的標簽, 包含影像數據在文件中的位置信息, 為文件讀取提供捷徑[8]。COG中, 前16 kb的數據中包含了所有IFD[14], 讀取這部分數據就可以利用IFD訪問數據局部, 提取目標信息。

圖1 云優化GeoTIFF文件結構(據文獻[13-14]繪制)

1.2 COG特性

使用HTTP協議請求影像數據時, 可以在請求頭中使用accept-ranges字段指定所需數據的范圍, 這種方式稱為范圍請求(range requests)。利用范圍請求, 只需訪問COG部分數據, 就能從中提取頭文件、空間子集等數據, COG中還為略縮圖瓦片金字塔設計了專門結構, 可以在不讀取完整數據的情況下預覽影像[7]。

為了分析COG部分讀取與標準GeoTIFF總體讀取的效率差異, 相關人員選用以下指標: (1) 單點的讀取: 選取稍微偏離中心點的點, 讀取該點的值。(2) 區域平均: 取一個不規則的范圍做空間子集的模擬, 獲取該子集的平均值。(3) 多波段影像讀取: 取一個點, 輸出該點在所有波段的值[12]。通過對COG格式影像執行以上3種操作得到對比結果(如圖2), 在區域平均和單點讀取中, 讀取的字節數比率在5%~15%左右; 多波段影像訪問時的讀取比率較高, 但也只有25%左右, 相比總體訪問模式效率提升明顯。

地理空間數據抽象庫(geospatial data abstraction library, GDAL)的虛擬文件系統(virtual file systems)支持使用/vsicurl前綴指向在線數據, 這種訪問同樣支持范圍請求, 在此基礎上, 地圖瓦片服務的數據源將不再局限于自身文件系統中的數據, 還可以是局域網或互聯網中的任意支持HTTP協議訪問的數據。

圖2 訪問數據的百分比(據文獻[12]修改)

2 遙感影像地圖服務快速構建方法

2.1 影像數據存儲

目前, 遙感影像存儲方式大致分為三種: 關系數據庫(空間數據中間件)、網絡存儲和分布式存儲[3]。其中對象存儲是網絡存儲的一種, 使用REST和SOAP協議訪問對象[15], 架構簡單、部署容易, 可以更好地發揮COG的特性, 本文設計的遙感影像地圖服務中使用對象存儲服務管理遙感影像數據。

對象存儲中, 數據存儲在桶(bucket)中, 桶中對象狀態的變化可以通過事件廣播監聽, 利用事件廣播的WebHooks接口, 設計遙感影像上傳、更新時的觸發器, 構建WebHooks監聽服務, 流程如圖3所示。

圖3 MinIO WebHooks服務流程

WebHooks監聽的觸發事件采用S3中事件定義, S3是AWS(亞馬遜云服務)的對象存儲服務[15], 其接口設計是目前行業事實標準[16-17], 監聽事件與觸發事件的對應關系如表1所示。

表1 監聽事件與觸發事件

通過監聽表1中的事件, 完成遙感影像數據的格式轉化和管理, 數據存儲服務提供傳統地圖服務中圖層管理的功能, 依據當前數據存儲情況給客戶端提供當前可用的圖層信息。

2.2 影像地圖發布

依據OGC的WMTS服務標準, 一次瓦片請求必須出現的參數如表2所示。

表2 WMTS必要請求參數

在傳統地圖服務中, Layer參數指向的是一組配置, 這組配置包括原始數據地址、合成波段、空間范圍等信息。除原始數據地址、合成波段外, 其余信息都可從原始數據頭文件獲取。本文利用Layer參數指定原始數據地址, 添加參數Indexes指定合成波段, 替代之前Layer參數的功能。

生成相同數據的不同瓦片時, 一些信息被重復計算, 如數據的值域范圍等, 本文設計影像數據統計信息服務, 通過數據地址返回一個包含統計信息的JSON文本, 在正式請求瓦片之前, 先通過該服務獲取影像數據的統計信息, 流程如圖4所示。

圖4 客戶端請求流程

由圖4, 客戶端從數據存儲服務中獲取可用的影像數據(圖層)列表, 通過數據地址從統計信息服務中獲取該數據統計信息, 之后將這些信息整合進請求參數中完成瓦片請求。

2.3 影像瓦片動態創建

在接到瓦片的動態創建指令后, 進入影像瓦片動態創建流程, 整個流程如圖5所示。

圖5 瓦片生成流程圖

由圖5, 流程依次執行: 1) 解析參數, 計算虛擬變換參數與空間子集: 解析波段索引(Indexes), 獲取合成波段; 解析瓦片矩陣(TileMatrix), 行號(TileRow)和列號(TileCol), 得出投影坐標系下的瓦片的空間范圍, 最終計算出虛擬變換參數、瓦片空間子集。2) 讀取瓦片數據: 依據虛擬變換參數, 從源數據創建虛擬變形數據集(warped virtual dataset), 根據波段順序和空間子集讀取瓦片數據。3) 線性拉伸: 依據該波段數據的值域范圍對瓦片數據做線性拉伸, 提升顯示效果。4) 無值區掩膜(mask)提取: 若存在alpha波段, 則將該波段作為無值區掩膜, 否則計算得到無值區掩膜。5) 圖片渲染: 將處理后的瓦片數據與掩膜數據疊加, 渲染為圖片。

2.4 影像瓦片緩存處理

為避免瓦片緩存對地圖服務主進程的影響, 使用外置NoSQL數據庫實現瓦片緩存, 設計瓦片緩存機制如圖6所示。

圖6 瓦片緩存機制

本文中瓦片唯一標識碼的生成方法與GeoServer類似, 不同的是, 在GeoServer中, 為了兼顧WMS協議, 生成標識瓦片的唯一標識碼時使用瓦片的外包矩形作為參數, 計算Hash值時為了保證外包矩形各坐標中浮點型精度, 增加計算量。本文生成方法使用原始數據地址、瓦片所在縮放等級和行列號以及其他參數計算出唯一標識, 其中縮放等級和行列號均為整數, 減少計算量, 過程如下: 1) 將請求參數按照特定方法排序, 并將請求參數統一轉換為大寫字符。2) 遍歷排序后的請求參數序列, 將其拼接成以&字符連接的字符串。3) 計算字符串Hash值得到瓦片的唯一標識碼。

對于每一次瓦片請求, 首先通過中間件根據計算出的唯一標識碼確認是否有對應的緩存, 若已有緩存, 則直接返回緩存數據, 否則進入下個流程: 將該標識碼與處理池已有的標識碼比對, 若未找到相同的標識碼, 進入生產流程; 若有相同值, 則線程進入等待狀態, 直到該瓦片生產流程結束, 在一張瓦片生產流程結束后, 持有相同標識碼的等待線程同步做出響應, 刪除處理池中的該標識碼, 通過異步的方式將瓦片緩存至瓦片緩存數據庫。

3 應用實例與分析

3.1 應用環境與服務構建

實驗選取主流開源地圖服務器軟件GeoServer作為對照, 應用環境配置如表3所示。

表3 應用環境配置表

GeoServer使用跨平臺二進制2.16版本, 使用startup啟動腳本運行。影像發布步驟為: 1) 手動執行格式轉化命令, 將GeoTIFF影像轉化為COG格式。2) 建立GeoTIFF格式的數據存儲(datastore): 為數據存儲命名, 指定源數據地址。3) 通過數據存儲發布圖層: 為圖層命名, 選擇坐標參考系統(CRS), 指定空間范圍和合成波段順序。

本文設計的遙感影像地圖服務實現過程如下: 數據存儲端, 考慮到易部署性和易拓展性, 選用MinIO(一款基于云原生技術的對象存儲服務軟件)構建服務, 編寫Python腳本結合MinIO的WebHooks接口實現監聽服務, 包括文件格式轉化和緩存清理功能; 地圖瓦片服務端, 使用rasterio(GDAL的Python綁定庫)讀取COG數據, 完成瓦片的提取, 使用aiohttp和asynio優化并發訪問性能。瓦片緩存端, 選用高性能、支持數據持久化的Redis數據庫配合本文設計的瓦片唯一標識碼生成方法緩存瓦片數據。影像發布流程為使用MinIO管理工具將數據上傳至對象存儲服務。

3.2 數據與實驗設計

數據使用無人機多波段DOM影像, 圖7為影像局部, 影像詳細信息如表4所示。

實驗分兩組對照, 一組使用GeoServer對同個數據兩種格式(GeoTIFF和COG)分別提供地圖瓦片服務, 通過響應速度驗證COG在瓦片動態創建中的速度優勢。另一組使用相同的COG數據, 使用GeoServer和本文設計實現的遙感影像地圖服務分別提供地圖瓦片服務, 通過響應時間測試兩者在瓦片動態創建和處理緩存瓦片兩個方面的性能差異。

圖7 無人機DOM影像瓦片

表4 數據詳細信息

實驗過程中, 向地圖服務發送若干并發請求, 記錄各請求的響應時間, 為避免各瓦片包含的數據量不同影響結果, 測試用的瓦片(由縮放等級和行列號描述)集, 通過如下流程生成: 1) 讀取影像的空間范圍、有效縮放等級范圍, 轉換到投影坐標系。2) 對每個縮放等級, 計算空間范圍左上和右下兩個坐標所在的瓦片的行列號, 得到該縮放等級下所有瓦片, 形成瓦片集。3) 將瓦片集中的各瓦片的范圍與空間范圍做疊加分析, 移除未完全包含于空間范圍的瓦片。4) 將瓦片集打亂順序, 按照10、50和100的長度切片, 得到瓦片測試集。

為了避免客戶端與服務端之間網絡波動對結果的影響, 執行并發請求和結果統計的Python腳本在服務端運行, 結果中的響應時間不包含網絡延遲。

3.3 結果分析

本文設計的遙感影像地圖服務稱為簡化地圖服務, 標準GeoTIFF格式稱為非COG。

瓦片動態創建時, COG與非COG之間、兩種服務之間性能對比如圖8所示。

圖8 響應時間對比

由圖8可知, 使用非COG數據動態創建瓦片時, 響應時間顯著增長, 由圖8c, 在處理100次并發請求中最后一個響應時, 使用COG與非COG之間響應時間相差超過2 min, COG有明顯優勢。

在同樣使用COG格式時, 簡化地圖服務與GeoServer對比, 由圖8a, 在處理10次并發請求時, 平均響應速度更快; 由圖8b和圖8c, 在處理50次和100次并發請求時, 簡化地圖服務在處理前部少量請求時有速度優勢, GeoServer總體響應時間更優。

處理已緩存瓦片時, 兩種服務對比情況如圖9所示。

圖9 緩存后響應時間對比

圖9結果表明, 簡化地圖服務在上述3組測試中, 響應速度保持在0.15 s之內, 而GeoServer的響應速度隨著并發請求個數的增加顯著增長, 依據圖9c, 在100次并發請求的測試中, 完成最后請求所用的時間超過0.4 s。

綜上得出, 簡化地圖服務在動態創建瓦片的場景下, 性能與GeoServer各有優劣; 在瓦片已緩存的場景下比GeoServer表現更好。

4 結語

本文設計實現一種自動發布的地圖影像瓦片服務, 相比傳統方法構建的地圖服務, 有以下優點:

1) 構建了自動處理工作流, 將源數據轉化為COG格式, 加速瓦片動態創建。

2) 源數據在地圖服務外部管理, 影像數據上傳、更新時自動發布地圖服務。

該方法構建的遙感影像地圖服務依然存在不足, 源數據壓縮后會影響瓦片動態創建的速度, 而存儲未壓縮的數據占用更多存儲空間, 如何尋找兩者間的平衡點還需進一步研究。

[1] YAN J, MA Y, WANG L, et al. A cloud-based remote sensing data production system[J]. Future Generation Computer Systems, 2018, 86: 1154-1166.

[2] MA Y, WU H, WANG L, et al. Remote sensing big data computing: Challenges and opportunities[J]. Future Generation Computer Systems, 2015, 51: 47-60.

[3] 季艷, 魯克文, 張英慧. 海量遙感數據分布式集群化存儲技術研究[J]. 計算機科學與探索, 2017, 11(9): 1398-1404.

JI Yan, LU Kewen, ZHANG Yinghui. Research on distributed clustering storage technology for massive remote sensing data[J]. Journal of Frontiers of Computer Science and Technology, 2017, 11(9): 1398-1404.

[4] 戴芹, 劉建波, 劉士彬. 海量衛星遙感數據共享的關鍵技術[J]. 計算機工程, 2008(6): 283-285.

DAI Qin, LIU Jianbo, LIU Shibin. Key techniques of massive remote sensing data sharing[J]. Computer Engineering, 2008(6): 283-285.

[5] 廖芳芳, 裴春營, 李永峰. 基于最高層級的影像分布式切片技術研究[J]. 計算機產品與流通, 2020(10): 38-39.

LIAO Fangfang, PEI Chunying, LI Yongfeng. Research on distributed slicing technology of image based on the highest Level[J]. Computer Products and Circulation, 2020(10): 38-39.

[6] 史玉龍, 侯傳燕. Hilbert索引的柵格瓦片金字塔數據存儲方案[J]. 新疆師范大學學報(自然科學版), 2020, 39(2): 13-16.

SHI Yulong, HOU Chuanyan. Raster tile pyramid data storage solution using Hilbert index[J]. Journal of Xinjiang Normal University(Natural Sciences Edition), 2020, 39(2): 13-16.

[7] 李瑞清, 熊偉, 吳燁, 等. 一種基于MBTiles的地圖瓦片存儲技術[J]. 地理空間信息, 2019, 17(12): 58-62.

LI Ruiqing, XIONG Wei, WU Ye, et al. A map expansion storage technology based on MBTiles[J]. Journal of Geomatics, 2019, 17(12): 58-62.

[8] 王冬至, 林東銓. 一種適用于移動端國土調查應用的瓦片地圖存儲方法[J]. 測繪地理信息, 2020, 45(5): 94-96.

WANG Dongzhi, LIN Dongquan. A storing method of tile data for land survey applications on mobile ends[J]. Journal of Geomatics, 2020, 45(5): 94-96.

[9] 楊會元, 馮鐘葵, 李山山. 基于Web的遙感影像在線分類實現技術研究[J]. 遙感信息, 2015, 30(1): 101-106.

YANG Huiyuan, FENG Zhongkui, LI Shanshan. Implementation of online remote sensing image classification[J]. Remote Sensing Information, 2015, 30(1): 101-106.

[10] Data Considerations - GeoServer User Manual: [EB/OL]. [2020-10-16]. https://docs.geoserver.org/stable/en/user/ production/data.html.

[11] LEHTO L, K?HK?NEN J, OKSANEN J, et al. Supporting wide user-base in raster analysis – GeoCubes Finland[J]. ISPRS - International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, 2018, XLII-4: 329-334.

[12] CHAN Y, CHRIS D, PATRICK Q, et al. Cloud-optimized format study[EB/OL]. [2020-01-01]. https://ntrs. nasa.gov/citations/20200001178.

[13] EVEN R, ELI L A, CHEN Y. COG – Cloud optimized GeoTIFF generator[EB/OL]. [2020-10-12]. https://gdal. org/drivers/raster/cog.html.

[14] EVEN R, DAN B, MARKUS N. Cloud optimized GeoTIFF - GDAL[EB/OL]. [2018-08-01]. https://trac. osgeo.org/gdal/wiki/CloudOptimizedGeoTIFF.

[15] KHAJA R, KOTA V. Hybrid cloud framework for object storage based geo spatial remote sensing data proces-sing[J]. International Journal of Engineering Sciences & Research Technology, 2014, 3(12): 449-454.

[16] 曹守欣, 趙琉濤, 金翊. 基于對象存儲的云存儲系統研究[J]. Computer Science and Application, 2014, 4(12): 333-343.

CAO Shouxin, ZHAO Liutao, JIN Yi. The study of cloud storage system based on object-based storage[J]. Computer Science and Application, 2014, 4(12): 333-343.

[17] 陳陽, 王丹. Ceph RadosGW對象存儲集群的部署與優化[J]. 現代計算機, 2020(14): 17-20.

CHEN Yang, WANG Dan. Ceph RadosGW object stora-ge cluster deployment and optimization. Journal of Fron-tiers of Computer Science and Technology, 2020(14): 17-20.

A rapid construction method of remote sensing image map services based on COG

CHEN Yu-hang, SHENG Hui, LIU Shan-wei, HE Ya-wen

(College of Oceanography and Space Informatics, China University of Petroleum (East China), Qingdao 266580, China)

The existing image publishing process of a map tile server is complicated because it is not conducive to the construction of an automated process. This paper builds a private object storage service to manage the remote sensing of data. Cloud optimized GeoTIFF (COG) is used to support local access. The dynamic creation speed of image tiles is optimized, and a tile map service that automatically publishes images is realized. In the example application, the remote sensing image map services that are implemented in this paper are similar to those of the GeoServer in the dynamic creation of the COG data tile.

remote sensing imagery; map services; tile pyramid

Feb. 8, 2021

TP751.1

A

1000-3096(2021)05-0047-07

10.11759/hykx20210208002

2021-02-08;

2021-02-08

國家重點研發計劃項目(2017YFC1405600); 國家自然科學基金(41976184)

[National Key R & D Plan, No. 2017YFC1405600; National Natural Science Fundation, No. 41976184]

陳昱行(1995—), 男, 山東菏澤人, 碩士研究生, 主要從事WebGIS相關研究, E-mail: chyuhang@qq.com; 劉善偉(1982—),通信作者, 副教授, E-mail: shanweiliu@163.com

(本文編輯: 楊 悅)

猜你喜歡
瓦片服務
河水
遼河(2025年7期)2025-07-25 00:00:00
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
慣性
揚子江(2019年1期)2019-03-08 02:52:34
服務在身邊 健康每一天
今日農業(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
基于NoSQL數據庫的瓦片地圖服務
主站蜘蛛池模板: 亚洲成aⅴ人在线观看| 成人福利在线视频免费观看| 亚洲日韩国产精品综合在线观看| 国产高清免费午夜在线视频| 国产在线观看精品| 热久久这里是精品6免费观看| 91久久国产热精品免费| 亚洲,国产,日韩,综合一区| 国产肉感大码AV无码| 免费看av在线网站网址| 黄色一级视频欧美| 成年免费在线观看| 亚洲天堂久久久| 另类综合视频| 狠狠v日韩v欧美v| 免费不卡视频| 91免费国产在线观看尤物| 国产成人无码综合亚洲日韩不卡| 漂亮人妻被中出中文字幕久久| 99精品福利视频| 在线另类稀缺国产呦| 在线无码私拍| 久久成人免费| 国产精品网拍在线| 妇女自拍偷自拍亚洲精品| h视频在线播放| 国产三级毛片| 午夜毛片免费观看视频 | 九九九九热精品视频| 国产人在线成免费视频| 亚洲一区二区日韩欧美gif| 久久黄色视频影| 亚洲欧美一区二区三区蜜芽| 九九热视频精品在线| 九九热精品视频在线| 国产高清不卡| 手机在线免费不卡一区二| 996免费视频国产在线播放| 亚洲黄色激情网站| 国产一级α片| 久久这里只有精品免费| 国产最爽的乱婬视频国语对白 | 国产成人狂喷潮在线观看2345| 一级爆乳无码av| 日韩在线1| 国产免费a级片| 日本国产精品一区久久久| 日韩精品亚洲一区中文字幕| 天堂网亚洲系列亚洲系列| 亚洲Av激情网五月天| 成人一级黄色毛片| 欧美亚洲欧美| 黄片在线永久| 九一九色国产| 亚洲人在线| 国产麻豆福利av在线播放| 国产精品视频系列专区| 青青热久麻豆精品视频在线观看| 91无码国产视频| 2021国产乱人伦在线播放| 91麻豆国产精品91久久久| 亚洲国产综合精品一区| 国产精品亚洲欧美日韩久久| 亚洲精品卡2卡3卡4卡5卡区| 亚洲天堂久久久| 欧美日本二区| 亚洲综合一区国产精品| 欧美人与性动交a欧美精品| 精品黑人一区二区三区| 永久免费无码成人网站| 亚洲视频二| 亚洲天堂777| 91青草视频| 午夜精品一区二区蜜桃| 亚洲免费三区| 国产网站一区二区三区| 欧美专区在线观看| 亚洲三级电影在线播放| 国产区91| 国产真实乱子伦精品视手机观看 | 国产美女在线观看| 亚洲日本www|