1. 程式人生 > >ArcGIS教程:TIN 和柵格相互轉換的工作原理

ArcGIS教程:TIN 和柵格相互轉換的工作原理

  柵格轉TIN

  柵格轉 TIN 工具的用途是建立表面偏離輸入柵格不超過指定 Z 容差的不規則三角網 (TIN)。柵格轉 TIN 常用於將通過美國地質勘探局 (USGS) 數字高程模型 (DEM) 獲得的柵格轉換為 TIN 表面模型。

  柵格轉 TIN 首先根據足量的輸入柵格點(像元中心)生成候選 TIN,以便完全覆蓋柵格表面的邊緣。然後,該工具會逐步改進 TIN 表面,直到符合指定的 Z 容差。要達到此效果,可在迭代過程中根據需求新增更多像元中心。

  在輸出 TIN 中會應用輸入柵格的內插區。從柵格中提取內插區的面製圖表達(附帶 z 值),然後將其作為軟裁剪多邊形新增到 TIN 中。

  通過該命令選擇的點數是指定的 Z 容差和輸入柵格的平滑度的函式。如果指定的 Z 值容差較小或者柵格表面在地形構造方面很粗糙複雜,則需要更多的點來構建 TIN。

  如果已指定,則點的最大數量將作為 TIN 的大小限制。如果在 TIN 結點計數達到此限制時,仍不符合 Z 容差,則該工具將會停止,並返回操作失敗。此數值只是近似值,因此允許生成的 TIN 略微大於該值,但建議將 TIN 中點數保持在幾百萬點以下。大型輸入柵格和較小 z 容差設定可能會超出這個範圍。如果大小是主要關注問題,則請考慮只處理一部分,或者使用柵格轉多點,然後構建 terrain 資料集。

  Z 因子可轉換 z 單位(例如,從英尺到米)。輸出 TIN 高度與此值相乘便可執行轉換。

  Z 容差將以輸出 TIN 的 z 單位的形式給出。例如,如果輸入柵格的 z 單位為英尺,用於在輸出 TIN 中將其轉換為米的 Z 因子為 0.3048,則 Z 容差將以米的形式指定。


  TIN 轉柵格

  TIN 轉柵格可通過插值法將不規則三角網 (TIN) 轉換為柵格。為輸出中的每個像元指定高度或 NoData 值,具體取決於像元中心是否落在 TIN 的插值區內。

  輸出柵格的資料型別使用輸出資料型別設定。資料型別可以是 FLOAT 或 INT。FLOAT 是預設值,可以輸出單精度浮點值。INT 可以輸出有符號的長整型值。FLOAT 可以儲存小數形式的高度。INT 在允許整數輸出時有用,因為使用該資料型別,壓縮某些輸出格式(例如,Esri Grid)很有益。

  方法可確定使用的插值法。方法可以是 LINEAR 或 NATURAL_NEIGHBORS。線性插值法可將 TIN 三角形顯示為平面。通過查詢落在 2D 空間中的三角形並計算像元中心相對於三角形平面的位置來為每個輸出像元指定高度。自然鄰域法插值可產生比線性插值更平滑的結果。它對在每個輸出像元中心周圍所有方向上找到的最近 TIN 結點使用基於區域的權重方案。TIN中的硬隔斷線將影響結果,因為自然鄰域表面在跨越該硬隔斷線時不是連續平滑的。

  取樣距離變量表示輸出像元大小,可以採用兩種方式之一進行定義。OBSERVATIONS 關鍵字後面是指示輸出中的所需列數的整數。基於輸出範圍和列數確定像元大小。預設情況下,使用OBSERVATIONS 250。要提供明確的像元大小,則使用 CELLSIZE 關鍵字,後面緊跟可以浮點數形式給出的所需大小。

  Z 因子變數用於轉換輸出柵格的 z 單位。輸出高度將乘以該值。當並且僅當 x、y 和 z 單位在輸入 TIN 的空間參考中定義,而且都是標準投影單位(例如,米和英尺)時,才會計算預設 Z 因子變數以將 z 單位轉換為與 x 和 y 單位相同的測量單位。如果 x、y 和 z 單位相同,則使用值 1.0。如果未定義任何單位,則使用值 1.0。

  如果沒有在地理處理分析環境中定義任何輸出範圍,在確保輸出柵格覆蓋整個資料區域的情況下,根據 TIN 計算範圍。在該計算中,基於資料區域的矩形範圍,TIN 的左下角原點將用作左下角柵格像元的像元中心。大部分柵格描述工具都使用外部像元邊界而非像元中心描述範圍,因此可能會出現輸出柵格範圍超出輸入 TIN 範圍的情況。存在定義的輸出範圍時,TIN 轉柵格工具會將指定範圍原點用作輸出柵格的左下角像元邊界。這是為了在行為上與其他柵格工具保持一致,便於使用捕捉柵格的功能。然後,通過使用原點和在 TIN 轉柵格工具中指定的像元大小確定輸出柵格的 X 和 Y 最大值,以便了解使用者定義範圍中的合適行數和列數是多少。因此,如果範圍的寬度或高度不能被像元大小整除,則輸出的實際 X 和 Y最大值可能與使用者定義的值不完全匹配。