1. 程式人生 > >CityEngine下如何更好的實現影像與地形疊加

CityEngine下如何更好的實現影像與地形疊加

 在利用CityEngine匯入影像和地形時,會出現影像或地形不顯示的問題。這主要是由影像、地形的尺寸大小和畫素深度兩個因素導致的。


1.調整尺寸
首先看一下影像和地形的大小。我們知道CityEngine並不是一個展示平臺,對影像/地形的大小有一定的限制,一般要求影像和地形的單幅行列數控制在8192*8192以內。當超出這個範圍時,我們可以採用以下重取樣或者裁切的方式來對影像和地形做進一步的處理以保證其在CityEngine裡的顯示。
1.1重取樣
可以通過調整單個像元大小的方式來改變其行列數,這種方式會降低影像的解析度。可以通過重取樣工具和匯出重取樣兩種方式來實現。
1.1.1重取樣工具
第一步,把影像資料載入到ArcMap中:

 
第二步,選擇ArcToolbox\Data Management Tools\Raster\Raster Processing下的Rasample工具結合實際情況設定X和Y的大小如下:

 
點選OK,資料就匯出到設定的路徑下。匯出後的結果如下圖:

 
1.1.2匯出重取樣
除了是使用GP工具對資料進行重取樣外,還有一種更簡單的方式,我們可以直接在原始影像圖層上右擊選擇Data…Export Data彈出Export Raster Data對話方塊,調整Cell Size值在其下的兩個文字框裡會自動顯示調整後的行列數,選擇路徑輸出即可。其過程如下圖:

 
2.影像裁切
通過把影像分割成幾塊,然後分塊載入到CityEngine的方式同樣可以降低單幅影像的行列數。其操作步驟如下:
第一步,選擇ArcToolbox\Data Management Tools\Feature Class下的Creat Fishnet工具,設定格網輸出的路徑、格網的的範圍、幾行幾列(Cell Size Width和Cell Size Hight設為0)以及Geometry Type選擇Ploygon.點選確定。

 
得到如下結果:

 
第二步,利用ArcToolbox\Analysis Tools\Extract下的split工具把多邊形分裂開。


第二步,利用匯出的面去切割影像。採用ArcToolbox\Spatial Analyst Tools\Extraction\下的Extraction by Mask工具進行影像的切割。如下:

 
得到如下結果:

 
3.畫素深度
此外對於影像而言,畫素深度也會對其顯示產生一定的影響。首先看一下不能正常顯示影象的統計值。開啟ArcCatalog,找到影像並在影像圖層上右擊屬性會彈出如下對話方塊:

 
注:如果Statistics下沒有顯示相關資訊,可以點options下的Calculate Statistic選項計算統計資訊。

從統計值上可以發現畫素值集中在0到255之間,而資料是16位的。CityEngine沒有按照統計值進行拉伸顯示,所以顯示的資料為黑色。這個時候我們要把影像轉找成8位的。
選擇ArcToolbox\Data Management Tools\Raster\Raster Dataset 下的Cope Raster,按照下圖時行設定,確定輸出。

 
這時,影像就能正常顯示了。從中可以看到要想CityEngine能正常顯示資料,必須保持畫素統計值與畫素畫素深度一致才行。