Arcpy實現dem數據主河網自動提取

DEM數據提取河網信息可以說是比較成熟了,但是在ArcGIS中要經過幾個步驟才能完成,不能進行批量化的處理,或者還有一種方法,就是在模型構建器裏面做好模型,進行處理,也是一種從優方法。

本文意在熟悉Arcpy站點包,以及處理流程。處理結果如下圖:

實現的具體步驟:

1.窪地填平。

 outFill = Fill(data)

窪地區域是水流方向不合理的地方,可以通過水流方向來判斷哪些地方是窪地,然後對窪地進行填充。
2.水流方向計算。

 outFlowDirection = FlowDirection(outFill, "NORMAL")


3.水流積聚計算。

 outFlowAccumulation = FlowAccumulation(outFlowDirection)


4.使用spatial analyst中的柵格計算器,提取河網柵格(二值化)(計算大小根據實際而定,這裏設置爲500,生成河網矢量,(屬性表選擇grid_code = 1)

outRasterCalculator=Con(outFlowAccumulation, 1, 0, "value > 500")
arcpy.SelectLayerByAttribute_management("stateslyr", "NEW_SELECTION", ' "GRID_CODE"= 1 ')


        

 

注:參考百度經驗。

實驗數據下載地址:https://download.csdn.net/download/qq_33356563/10899627

原始代碼下載地址:https://download.csdn.net/download/qq_33356563/10899625(註釋詳盡,通俗易懂。)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章