折線插值 使用地形轉柵格插值工具建立水文高程表面

2021-10-25 13:24:25 字數 4639 閱讀 2248

上次我們對使用地形轉柵格工具建立乙個具有高層資料的插值面進行了初步的了解。

這次我們就來舉例說明一下。

練習:使用地形轉柵格插值工具建立水文高程表面

水上流動的計算機模擬非常依賴於輸入高程表面的質量;表面的誤差會降低分析的質量。在本練習中,將使用地形轉柵格插值工具,在太浩湖附近為乙個7平方公里的小區域建立準確的水文高程表面

要完成練習,您需要以下內容:

•arcgis desktop 10.6(基本,標準或高階)

•arcgis geostatistical analyst

•arcgis spatial analyst

第2步:開啟地**檔並啟用spatial analyst擴充套件模組

啟動arcmap,瀏覽到c: esritraining predictionsu***ces並開啟topodata.mxd。

所有要素圖層均來自usgs數字線圖(dlg)資料,並將作為地形轉柵格工具的輸入。山體陰影和海拔層來自30公尺的usgs dem,供參考。

從「自定義」選單中,選擇「擴充套件」,選中「spatial analyst」核取方塊,單擊關閉。

第3步:使用地形轉柵格工具

在接下來的兩個步驟中,將使用在地圖中看到的點,線和面資料插值高程表面。

在arctoolbox中開啟地形轉柵格工具

新增所有輸入要素圖層並設定每個輸入的型別,如果它具有高程值,則必須設定包含這些高程值的字段的名稱。

新增topospots要素圖層表。設定如下:

•「字段」:「spot_meter」。

•「型別」;「pointelevation」。

此要素類中的點是表面上未在輪廓資料中顯示的重要位置(如山峰)的高程樣本,並以海拔高度為單位進行測量。

新增topocontours到要素圖層表,設定如下:

•「字段」:「spot_meter」

•「型別」:「輪廓」。

輪廓線是最重要的輸入。它們的頂點不僅用作高程樣本,而且演算法還分析它們的形狀以檢測脊和谷。但是,需要注意它們的z值通常有誤差。例如,在usgs地形圖上,z誤差通常是輪廓間隔的正負的一半。有時,一張紙上的輪廓以公尺為單位,而另一張紙中的輪廓以英呎為單位。此外,有些情況下輪廓突然結束,這表明缺少資料或疏忽。

新增topostream到要素圖層表,設定如下:

•「型別」:stream。

流線是下乙個最重要的輸入。雖然它們沒有高程值,但它們的位置用於調整表面插值以確保適當的排水。將溪流定向下坡至關重要。

新增topolakes到要素圖層表,設定如下: •「型別」:lake。

•沒有高程值。

在插值之後使用湖多邊形以確保湖中的所有位置具有相同的高度:湖邊界上的最低位置的高度。

新增topoboundary到要素圖層表,設定如下:

•「型別」:boundary。

檢視結果:

這裡沒有高程值。

此單個多邊形之外的所有單元格都被賦予nodata值。多邊形應小於其他輸入的區域,以便工具可以剪下邊緣錯誤。

在本練習中,您不會使用接收層。水槽是識別內部排水的真實區域的點特徵,如沙子和礫石坑。它們很重要,因為該工具假定內插器建立的所有未識別的接收器都是錯誤的,並且填充它們。

輸出表面柵格位置:自行設定

輸出像元大小:鍵入10。

資料在utm zone 10n中,線性單位為公尺,這意味著單元格大小以公尺為單位。輸出dem也應該以公尺為單位,因為所有x,y,z座標都是相同的單位。看一下輪廓,你可以看到,在最密集的部分,它們是正負10公尺。如果它們太大,則單元格中存在多個輪廓,arcmap必須對它們進行平均。

輸出範圍:接受預設座標。

像元間距:接受預設值20。

此引數控制在剪下曲面之前插值延伸到邊界之外的距離。距離在單元格中指定,預設為20.如果插值超出範圍(輸入要素也應如此),則輸出曲面的邊緣更準確。當區域太大時經常使用此引數,在這種情況下,dem建立必須是塊。

插值中使用的最小和最大z值:接受預設值(無)。

地形轉柵格工具可以建立山丘和山谷。這些引數限制了插補器可以建立的z值的範圍。通過將這些字段留空,使用預設值20%的實際輸入範圍。

地形強化:接受預設的enforce。

此引數控制接收器的處理方式。 enforce選項會刪除所有接收器,包括真實接收器和虛假接收器。 no_enforce選項不會刪除任何接收器。 enforce_with_sink選項僅保留在sink層中標識的那些接收器。

輸入資料主要型別:接受contour的預設值。

此引數指定輪廓線(輪廓線)或高程點(點)在演算法內部生成流和脊的方式中更為重要。預設值為contour。

最大迭代次數:接受預設值(無)。

此引數控制「地形轉柵格」工具在內部建立曲面的次數。該工具使用多解析度插值方法。可以增加更少接收器的迭代次數,但是,對於本練習,保留預設值。

它建立了第乙個具有較大單元大小的表面,應用排水強制執行和接收器刪除,然後再使用較小的單元進行插值。它將繼續此過程,直到達到使用者指定的單元格大小。

粗糙度懲罰係數:接受預設值(無)。

該引數對表面的粗糙度(斜率變化率)進行加權,並有助於使擬合表面更適當地跟隨地形的突然變化,如脊和溪流。如果輪廓是主要輸入,則預設值為0;如果點是主要輸入,則預設值為0.5。通常接受預設值。

離散誤差係數:接受預設值1。

此引數調整演算法在內部柵格化輸入要素時發生的平滑量。小於1的值不會平滑。

垂直標準差:接受預設值0。

此引數指定輸入資料中隨機z值錯誤的數量。如果您知道資料中存在嚴重的非系統垂直錯誤,則應將此引數設定為錯誤的標準偏差。通常,錯誤量未知,使用預設值0。

容差1:鍵入6。

此引數很重要,應始終進行設定。它控制排水執法和水槽清除。該演算法不會刪除比此值更深的接收器,這是輸入資料中的系統誤差量,以英呎或公尺為單位的z單位。

如果主輸入是輪廓,則通常將該值設定為輪廓間隔的一半。如果主要輸入是點,則將其設定為已知的標準錯誤。輪廓的預設值為2.5,點的預設值為0。輪廓間隔約為12公尺,因此將此引數設定為6公尺。輪廓實際上具有40英呎的間隔,但是z值被轉換為公尺,因此它們將與x,y座標具有相同的單位。

容差2:保留預設值100。

此引數可防止演算法通過高於指定值(以z單位表示)的障礙建立流通道,例如嘗試移除阻擋山谷的大壩。如果主輸入是輪廓,則預設值為100;如果主輸入是點,則預設值為200。

第4步:設定可選的輸出引數

輸出河流折線要素:瀏覽到.. esritraining predictionsu***ces mywork並鍵入streams。

您可以生成脊的形狀檔案和演算法在內部確定曲面形狀的內部流線。可以將它們與現有的流和脊資料進行比較,以檢查插值的質量。

輸出剩餘匯點要素:瀏覽到.. esritraining predictionsu***ces mywork並鍵入sinks。

您可以生成未被演算法刪除的接收點的shapefile。任何剩餘的接收器都可以幫助您找到排水執行演算法無法解決的輸入資料中的錯誤。將包含來自接收器輸入的真實接收器,並且可用於驗證它們未被移除。

輸出診斷檔案:瀏覽到.. esritraining predictionsu***ces mywork和typediagnostics.txt。

您可以將所有設定儲存到乙個檔案,當您在命令列或指令碼中執行「按檔案轉換為柵格轉換器」工具時,可以使用該檔案來儲存鍵入內容。

您可以將輸出文字檔案命名為包含指定的所有輸入和引數的報告,以及在插值和排水執行的每次迭代期間生成的資訊,例如已刪除的接收器的數量。

輸出河流和懸崖錯誤點要素:瀏覽到.. esritraining predictionsu***ces mywork並鍵入streamerrors。

輸出點要素類顯示可能發生流和懸崖錯誤的位置。可以從點要素類中識別流在懸崖上具有閉環,分流和流的位置。這裡沒有懸崖,但可能存在流錯誤。

輸出等值線錯誤點要素:瀏覽到.. esritraining predictionsu***ces mywork並鍵入contourerrors。

可能錯誤的輸出點要素類與輸入輪廓資料有關。高度偏差超過輪廓值標準偏差五倍的輪廓(如輸出柵格中所示)將報告給此要素類。通過**1在此要素類中標記連線具有不同高程的其他輪廓的輪廓,這是輪廓標籤錯誤的標誌。

單擊「確定」以執行「地形轉柵格」工具。

檢視結果

第5步:探索結果

在目錄中,將結果圖層移到頂部。

在目錄中,關閉除結果圖層和sinks之外的所有圖層。

將sinks移動到目錄的頂部。

檢視結果

結果表面仍有乙個水槽。然而,將它與八個相鄰的單元進行比較,它並不重要(0.5公尺超過10公尺),輸入輪廓通過這些單元中的許多單元。如果有更多的接收器,那麼使用填充工具是個好主意。但是,您應該注意不要填充任何現有的水體,例如湖泊。

儲存你的地圖。

退出arcmap。

曲線插值(一)

我看了不少插值的方法,有的方法講得莫名其妙,乙個程式,一些係數,為什麼這個係數是1,而不是0.5從來不講,讓人很懷疑其可用性。後來做刀光的時候,採集的刀光的點不夠圓滑,需要用到插值 想想自己的高數還沒有完全忘光,乾脆自己推導乙個得了。首先我們要明白什麼叫做光滑的曲線,可以這麼認為,這個曲線是乙個運動...

分段拋物線插值

先輸入資料 兩個兩個的輸,中間用空格隔開,比如 please input data1 11 11.08然後回車 依次輸入完五組資料 完了你想查某個溫度的溶解度,他要求你輸入溫度你輸入11.5 它就輸出對應的溶解度,然後他提示你是否繼續查溶解度,是就輸入y,想結束程式 就輸入n.include inc...

利用Eigen進行B Spline 曲線插值運算

b spline curve即b樣條曲線,1972 年gordon riesenfeld 等人提出,為了解決bezier曲線的不足 bezier 曲線不能做區域性修改 bezier 曲線的拼接比較複雜 b樣條曲線的計算原理可參考這裡 或者看中文的更詳細的介紹可參考 計算機輔助幾何設計與非均勻有理b樣...