【Arcgis】基于泰森多边形求流域面降水量
泰森多邊形(Thiessen Polygon)法
泰森多邊形又叫馮洛諾伊圖(Voronoi diagram),得名于Georgy Voronoi,是一組由連接兩鄰點線段的垂直平分線組成的連續多邊形。一個泰森多邊形內的任一點到構成該多邊形的控制點的距離小于到其他多邊形控制點的距離。
1.1 原理
在開展流域水文分析時,往往流域范圍僅有少量雨量站,為較為準確地將雨量站點實際觀測的降雨量反應到區域或子流域上,需要進行數據的鄰近分析,而泰森多邊形方法被廣泛應用與計算流域平均面雨量。
流域上各點的雨量用離該點最近雨量站的降雨量代表。用泰森多邊形法計算流域的平均降雨量,是以各雨量站之間連線的垂直平分線,把流域劃分為若干個多邊形,然后以各個多邊形的面積為權數,計算各站雨量的加權平均值,并把它作為流域的平均降雨量,一般來說結果比單純算術平均法更為精確。
泰森多邊形法特點:
- 每個泰森多邊形內僅含有一個離散點數據
- 泰森多邊形內的點到相應離散點的距離最近
- 位于泰森多邊形邊上的點到其兩邊的離散點的距離相等
面雨量計算方法:
- a.先計算每個泰森多形內的平均雨量,就是該多邊形內的雨量站雨量乘以權重,權重即該多邊形面積值除以流域面積。
- b.把所有多邊形內的平均雨量相加,再除以多邊形個數即是結果。
2 操作步驟
1.首先,如下圖所示,在ArcMap中導入站點.shp(含降雨量數據)和流域邊界.shp。需要注意的是,二者均為shp矢量數據。
2.接下來,利用ArcToolbox工具中的Create Thiessen Polygons工具(Toolboxes → Analysis Tools → Proximity → Create ThiessenPolygons)進行泰森多邊形的創建。
點擊Create Thiessen Polygons彈出窗口后所做的參數設置如下圖所示,在Input Features中輸入RainfallStation數據,在Output Features Class中自定義輸出路徑(一般選擇之前已經定義好的默認路徑),在Output Fields (optional)中選擇All(即輸出所有屬性字段)。
3.設置Create Thiessen Polygons里的Environments
輸入界面設置完成后進行環境變量設置,選擇Create Thiessen Polygons窗口下面的【Environments】按鈕,進入環境設置窗口,設置Output Coordinate System,選擇Same as Input,也可以選擇與untitled_poly保持一致的坐標系,不過選擇與與untitled_poly保持一致的坐標系很有可能生不成泰森多邊形,因此可以先選擇與輸入一致的坐標系,后面需要修改坐標系的時候再修改一下就可以了。
然后對Extent進行設置,設置生成泰森多邊形的四周邊界,此處選擇Same as Layer untitled_poly,其余保持默認。如圖所示:
以上需要設置的地方都設置完成后,點擊OK,在Create Thiessen Polygons窗口再點擊OK,則生成的泰森多邊形如圖所示:
【另】報錯
ERROR:Input RainfallStation does not hace OIDs.
需要進行一步操作,先給降水數據表添加object_ID字段!!!
4.現在生成的泰森多邊形是一個將untitled_poly流域包含在內的大四邊形,不能直接用于untitled_poly流域的面雨量計算,因此需要按照untitled_poly流域的形狀對新生成的泰森多邊形數據進行裁剪。
采用ArcToolbox工具中的Clip工具(Toolboxes → Analysis Tools → Extract → Clip)進行裁剪,在彈出的窗口中如下圖進行設置:單位選擇Meters
點擊OK后,裁剪后得到的圖如下圖所示:
5.接下來計算裁剪后生成的每一個多邊形的面積,打開裁剪后的Rainfall_Station_CreateThies_Clip數據的屬性表,并添加Area字段,并計算面積。(添加面積字段方法:單擊Table Options → Add Field…,添加面積字段后,右擊Area字段,點擊Calculate Geometry…,然后按雨量站名稱類別顯示如下圖所示:
各子區域面積如下:
【另】出錯
【另】出錯長精度
6.然后將屬性表中所有數據全部選中,右擊如圖所示位置屬性列表條件field——幾何計算——導出dbf。
點擊Copy Selected,粘貼到excel表格中進行面積權重的計算,最后根據各雨量站點所測的降雨量進行加權平均,就可以計算出untitled_poly流域的降雨量了。計算結果如圖所示:
另:利用MATLAB計算面降水量
成圖如下所示:
參考
1.CSDN博客-泰森多邊形的matlab實現
2.泰森多邊形計算流域面雨量
總結
以上是生活随笔為你收集整理的【Arcgis】基于泰森多边形求流域面降水量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HX711电子秤芯片使用记录
- 下一篇: windows使用linux命令行工具,