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(注释详尽,通俗易懂。)

转载自:https://blog.csdn.net/qq_33356563/article/details/85942564

You may also like...