新聞中心

/ News Center

行業洞察:地理(lǐ)信息系統之地圖栅格瓦片展示效果提升技術實現

2023-11-8

一.背景

随著(zhe)GIS地理(lǐ)信息系統技術的(de)廣泛應用(yòng),一種基于WebGL圖形繪制技術以GLSL(開放性圖形庫著(zhe)色語言)著(zhe)色器方式處理(lǐ)地圖渲染的(de)GIS平台也(yě)是更加流行。電子地圖的(de)可(kě)視化(huà)效果作爲GIS的(de)基礎不斷被提出新的(de)要求,特别是對于地圖的(de)美(měi)觀度提出了(le)更高(gāo)的(de)要求。栅格瓦片數據因具有結構簡單、輸出簡便、成本低廉等優點而被廣泛應用(yòng)于現代GIS電子地圖的(de)可(kě)視化(huà)展示中,使得(de)Web客戶端應用(yòng)不再需要加載整個地圖的(de)數據,便可(kě)以展示特定範圍内的(de)電子地圖信息能力,但同時存在著(zhe)栅格瓦片修改困難、修改成本大(dà)、輸出色彩單一、不夠精美(měi)等缺點。

二.GLSL特性

GLSL是OpenGLShaderLanguage的(de)縮寫,是OpenGL的(de)著(zhe)色器編程語言。由于WebGL基于OpenGL擴展而來,并将OpenGLES與JavaScript結合到了(le)一起,因此GLSL也(yě)很好地融入其中,在不需要任何浏覽器插件的(de)情況下(xià),完成基于GPU加速的(de)圖形繪制,用(yòng)于對圖形對象的(de)著(zhe)色進行精細化(huà)操控。在渲染圖形時,主程序會将頂點數據發送到GPU,然後GPU會使用(yòng)圖形著(zhe)色器來計算(suàn)每個像素的(de)最終顔色。圖形著(zhe)色器的(de)輸入是頂點數據,輸出是像素顔色,因此GLSL的(de)代碼文件一般會包括頂點著(zhe)色器程序和(hé)片段著(zhe)色器程序。頂點著(zhe)色器程序是用(yòng)來描述頂點需要執行的(de)模型變換、視變換、投影(yǐng)變換等的(de)程序源代碼;片斷著(zhe)色器程序是用(yòng)來描述片段上執行操作(如獲取紋理(lǐ)、往像素點中填充顔色、顔色混合等)輸出最終顔色的(de)程序源代碼。

由此特性我們可(kě)以獲取GIS地圖栅格瓦片渲染的(de)相關片段著(zhe)色器代碼,提取最終輸出的(de)當前光(guāng)栅化(huà)像素顔色值的(de)代碼片段。

三.注入顔色增強計算(suàn)方法

在根據GLSL特性獲取到片段著(zhe)色器代碼後,我們可(kě)以對當前片段的(de)光(guāng)栅化(huà)像素顔色值所對應的(de)RGB顔色分(fēn)量進行重新計算(suàn),以增強最終顔色輸出的(de)效果,下(xià)面舉例介紹各類可(kě)應用(yòng)的(de)顔色計算(suàn)方法。

1.對顔色值RGB分(fēn)量采用(yòng)伽馬校正的(de)計算(suàn)方法,非線性映射可(kě)以輸出我們人(rén)眼更能接受的(de)亮度,可(kě)采用(yòng)GLSL著(zhe)色器内置幂函數處理(lǐ),伽馬值爲函數的(de)指數:

2.對顔色值RGB分(fēn)量進行色調調整的(de)計算(suàn)方法,可(kě)先采用(yòng)YIQ(工業顔色模型)進行調整轉換;而後依據HSI(顔色空間模型)提取色調、色度,對色調值進行調整;然後轉變回HSI的(de)YIQ格式數值;再将YIQ轉換回RGB格式用(yòng)于輸出顯示。

3.對顔色值RGB分(fēn)量進行飽和(hé)度調整的(de)計算(suàn)方法,可(kě)采用(yòng)BT709(顔色空間轉換公式)将RGB轉爲YUV模式,此模式是基于人(rén)眼感知的(de)圖像灰度處理(lǐ)公式;再通(tōng)過點乘函數算(suàn)出紋理(lǐ)灰度值;然後通(tōng)過mix(線性混合函數)做(zuò)線性混合;最後通(tōng)過飽和(hé)度系數值爲顔色值分(fēn)量的(de)渲染權重調節飽和(hé)度。

4.

四.定義顔色計算(suàn)參數輸出結果

對根據顔色增強計算(suàn)方法定義的(de)各種系數參數,如對比度系數、伽馬系數、亮度系數、飽和(hé)度系數、色調系數等,設置系統運行時所需要的(de)參數值,使最終輸出的(de)地圖栅格瓦片展現出不同效果。

五.結論

通(tōng)過修改以GLSL著(zhe)色器方式處理(lǐ)栅格瓦片渲染的(de)前端可(kě)視化(huà)GIS技術框架相關著(zhe)色器代碼,增加栅格瓦片顔色增強相關算(suàn)法,定義并調整相關參數值以達到修改栅格瓦片色彩的(de)目的(de),其主要優點在于實現了(le)電子地圖在展示栅格瓦片時,可(kě)以方便地通(tōng)過調整算(suàn)法給定的(de)各項參數來達到對栅格瓦片輸出色彩的(de)修改,極大(dà)減輕了(le)栅格瓦片數據的(de)修改成本,同時滿足了(le)電子地圖用(yòng)戶在不同場景下(xià)對于地圖視覺美(měi)觀度上的(de)需求。(作者爲北(běi)京國研數通(tōng)軟件技術有限公司GIS技術經理(lǐ)王玮)