切图工具优化的几点总结
文章版權(quán)由作者李曉暉和博客園共有,若轉(zhuǎn)載請于明顯處標(biāo)明出處:http://www.cnblogs.com/naaoveGIS/
1.背景
??????? 自影像金字塔技術(shù)產(chǎn)生并被OGC作為WMTS規(guī)范起,各大互聯(lián)網(wǎng)公司以及GIS商業(yè)軟件均利用WMTS服務(wù)來進行地圖的瀏覽和共享服務(wù)。所謂影像金字塔技術(shù),即將原始影像按一定規(guī)則生成的由細到粗不同分辨率的影像集。金字塔的底部是圖像的高分辨率表示,也就是原始圖像,而頂部是低分辨率的近似。最底層的分辨率最高,并且數(shù)據(jù)量最大,隨著層數(shù)的增加,其分辨率逐漸降低,數(shù)據(jù)量也按比例減少。
? ? ??
??????? 基于商業(yè)或開源軟件雖然可以實現(xiàn)影像金字塔的建立,但是當(dāng)面對頻繁更新的全球尺度影像時,基于影像發(fā)布人工切圖的工作流程進行實施,無疑是一個巨大的工作量。針對這個現(xiàn)實問題,對影像切圖優(yōu)化做了一系列改進,這里做一個總結(jié)。
2. 自動化切圖流程設(shè)計
?
??????? 流程描述:在影像產(chǎn)品生產(chǎn)后基于FTP上傳工具進行上傳。服務(wù)端實時監(jiān)控新產(chǎn)品的存入,當(dāng)檢測到新數(shù)據(jù)存放時則進行自動化切圖。切圖參數(shù)根據(jù)項目實際需求進行預(yù)設(shè)。當(dāng)金字塔建立完畢,數(shù)據(jù)會被自動拷貝至所設(shè)置的存放地,實現(xiàn)產(chǎn)品存儲的高可擴。產(chǎn)品的元數(shù)據(jù)包括產(chǎn)品的時間、類型、范圍、波段、存放地址等均會自動入庫以便于影像管理。地理服務(wù)端基于影像金字塔自動進行服務(wù)發(fā)布共享。整個金字塔建立和發(fā)布流程無需人工干預(yù)。
3. 基于內(nèi)存切分平滑采樣
??????? 自動化流程中最核心的一步即是影像金子塔建立。其效率、穩(wěn)定性、切片重采樣效果直接影響到平臺的性能。多數(shù)商業(yè)軟件的影像金字塔建立存在耗時過長、操作繁瑣、切片模糊、切片邊緣鋸齒等問題。方案針對這類問題,在目前內(nèi)存越來越便宜,GPU成本不斷降低的背景下,設(shè)計了一種基于內(nèi)存切分平滑采樣的金字塔技術(shù)。
??????? 內(nèi)存切分技術(shù):將影像一次讀入內(nèi)存,在內(nèi)存中運用切分算法將影像流進行切塊,最后分塊寫入外盤中。方案的瓶頸主要存在于內(nèi)存的大小以及數(shù)據(jù)的讀取和輸出。其效率基本與文件的復(fù)制拷貝一致,是一種可以飛速提升效率的方案。
??????? 平滑重采樣技術(shù):由于影像是一種柵格數(shù)據(jù),當(dāng)?shù)貓D級別足夠大時則會出現(xiàn)馬賽克現(xiàn)象。仔細觀察不少商業(yè)軟件進行的切圖均會出現(xiàn)這類問題。方案中在進行切圖時會自動檢測切片邊界像元,使相鄰切片之間的像元間進行三次卷積重采樣,實現(xiàn)邊界過渡數(shù)據(jù)之間的融合平滑,減少鋸齒現(xiàn)象。
4. 金字塔切片算法設(shè)計
??????? 金字塔核心思想及將一張完整的影像按照重采樣和切分的思想進行數(shù)據(jù)緩存,當(dāng)前端展示時根據(jù)展示范圍和分辨率將對應(yīng)的切片獲取進行拼接展示。所以金字塔切片算法的核心即在切片原點、切片大小、切片分辨率三個方面。
假設(shè)切圖原點為(X0,Y0),切圖大小為tilesize,切圖分辨率為resolution。
?
??????? 其流程描述為:依據(jù)resolution,將地圖進行重采樣至該分辨率。而此時瓦片的實際地理大小為tilegeosize=(tilesize*resolution),依據(jù)tilegeosize將此時重采樣后的地圖進行切分。每個切片的命名規(guī)則為切片的左上角坐標(biāo)與切圖原點和瓦片地理長度之間的運算,即
??????? col? = floor((x0 - x)/( tileSize*resolution))
??????? row = floor((y0 - y)/( tileSize*resolution))
5. 前端展示切片拼接算法設(shè)計
??????? 前端切片展示是切片算法的逆向,即屏幕坐標(biāo)與地理坐標(biāo)之間的轉(zhuǎn)換、地理坐標(biāo)與瓦片行列號之間的轉(zhuǎn)換。同時為了解決前端地圖平移時瓦片請求頻發(fā)觸發(fā)問題,還需進行超出屏幕可視范圍的瓦片預(yù)存取方案。其示意圖如下:
?
?
?-----歡迎轉(zhuǎn)載,但保留版權(quán),請于明顯處標(biāo)明出處:http://www.cnblogs.com/naaoveGIS/
?????????????????????????????????????????????????????????????????????????? 如果您覺得本文確實幫助了您,可以微信掃一掃,進行小額的打賞和鼓勵,謝謝 ^_^
? ? ? ? ? ? ?
?
轉(zhuǎn)載于:https://www.cnblogs.com/naaoveGIS/p/9378261.html
總結(jié)
以上是生活随笔為你收集整理的切图工具优化的几点总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: string 用法
- 下一篇: 3、顺序表、内存、类型、python中的