CesiumLab 地形數據處理

最近接連有用戶反應地形數據處理的各類問題,我也是各類測試,想一想仍是整理一個文檔完全說明一下。工具

地形柵格數據格式,通常是tif ,也有dem或者img,可是我我的強烈建議使用tif格式,由於cesiumlab都是用這個格式測試的。測試

咱們先說一下地形柵格數據的幾個關鍵參數:spa

強烈建議處理以前,先用arcmap打開,確保如下參數正常orm

1,空間參考(spatial reference)索引

spatial reference 定義了 柵格數據的座標空間,下圖爲正常參數,若是arcmap 這裏顯示undefined,那表示空間參考未知,必然沒法正常處理。圖片

 
柵格的空間參考信息

    若是tif中不含空間參考,可是空間參考數據處理人員又明確知道,那麼能夠在cesiumlab中指定。反過來講若是不肯定,那就不要亂嘗試,只會浪費處理時間。文檔

 
cesiumlab中指定空間索引

2,無數據值(nodata)io

nodata定義了刪格中的無效數據數據值,也就是說若是柵格里某個像素的值 = nodata,意味着該像素沒有數據。form

對於nodata的處理,cesiumlab把該位置使用高程0填充。class

 可是原始數據中這個值很亂,徹底是用戶設置的,柵格里可能沒有這個nodata信息,也可能爲任意值。通常用戶會設置一個超大的負數值,好比 -10000  ,-99999等。這裏強烈建議,不要設置數據極值,例如-1.797693e+308 ,這種極值會致使中間計算出現非數字,致使地形處理異常。

 
無數據值

     若是原始柵格中沒有nodata值,只有一種狀況處理地形高程會正常(數據的空間參考是wgs84,地形數據邊界爲矩形),除此以外都必須設置此值。在cesiumlab選中對應tif,以下設置。

 
 

  這個-9999.005859是怎麼來的? 咱們仍是必須經過arcmap打開tif,使用indentify工具,點擊咱們明確知道是無數據區域,那麼得到他的值。

 
arcgis里人工斷定nodata

 

3,地理範圍(extent)

    柵格數據其實是一張圖片,必需要一個轉換,把像素座標轉到地理座標,這就是extent,在gdal裏是geotransform。在arcmap裏以下圖所示

 
柵格的地理範圍

正常這裏應該顯示的地理座標,若是你發現這個extent的四個值裏有0,那麼基本意味着,你的tif的地理範圍信息缺失。

tif 通常把這個信息存儲在文件內,還有另外一種方式存儲爲 同名的tfw 文件。

因此咱們處理或者拷貝數據的時候,若是有tfw,請一併拷貝。

 

 
tfw文件

 

確保上面三個關鍵參數正確,咱們再分析cesiumlab處理地形的異常狀況緣由

1, 瞬間結束

      空間參考缺失  或者  地理範圍缺失

2,處理完成以後半邊黑球

      nodata 過大

3,地形高程異常

      nodata 缺失或者不正確

4,位置不正確或伴隨高程不正常

      通常是空間參考不正確

根據異常緣由,請在arcmap使用相關工具處理你的柵格數據。

相關文章
相關標籤/搜索