欢迎光临散文网 会员登陆 & 注册

地理信息系统导论 第十四章实习 习作3

2023-06-04 19:56 作者:jXD233  | 我要投稿

水文中使用比较多,首先添加数据

在分析之前先在扩展里启用这个空间分析功能

开始第一个操作

进行如下设置

???怎么又和教程不一样?

教程的设置

结果如图

然后再创建一个sink去检查洼地的情况

然后进行如下设置

结果

取消显示下面两层,可以看到

但是这样对流域分析是有问题的,所以需要进行一个填挖操作

设置输出选项

输出结果

这里就是填挖之后的操作

然后执行流域分析

???怎么又和教程不一样?

教程里的设置

输出结果

教程里的结果

然后进行接下来的分析

教程里

输出结果

去掉其他的显示,结果如图

修改一下显示效果

输出结果

可以非常清楚的看到河网的雏形

再叠加上流域如图

这里小的比如500的就提取不到了,可以再改一下表现与分类改成100,可以

效果如图

对小的河流的末端也提取出来了

然后进行下一步分析

可以看到这个分析方式与flowaccumu分类为500的时候结果几乎是完全一样的

重新找到这个工具集

设置如下

输出结果

这里教程崩溃了两次,用catalog操作了,(当然也看不到输出结果)

接下来对整个流域进行勾画

教程里的设置


我的输出结果

教程里的输出结果

这个时候可以看到我们之前设置的河网net

其实可以用arcgis批处理把这些处理全部联系起来

先删除这些,然后调用arcgis的工具箱

打开py编程器输入如下代码:

#本节用到代码如下:

import arcpy

# 导入环境变量

from arcpy import env

# 导入空间分析的模块(这下面sa就是空间分析的后缀,所以arcpy.sa的就是空间分析的模块),*就是导入这里空间分析的所有模块

from arcpy.sa import *

#设置工作区,也就是这个路径,建议使用反斜杠/,而不是顺斜杠\,避免报错

env.workspace = "d:/chap14"

# 检查一下空间分析扩展模块有没有问题,教程里运行结果是 u'Available' ,说明是有问题的,如果正常使用的话不会报错

arcpy.CheckExtension("Spatial")

#流向分析,这里emidalat是这个文件名,教程里运行下面这一行后,catalog里多了一个名为flowdir_emid1的文件

outflowdirection =FlowDirection("emidalat")

#确定凹陷区域,这里的outflowdirection是上一行的变量outflowdirection,教程里运行后多了一个名为sink_flowdir1的文件

outsink = Sink(outflowdirection)

#填洼地分析,这里emidalat是这个文件名,教程执行后多了一个名为fill_emidala1的文件

outfill = Fill("emidalat")

#确定流向,这里outfill是上面一行的变量,所以不用加双引号,教程执行后多了一个名为flowdir_emid1的文件

outfd = FlowDirection(outfill)

#累积流域分析,这里outfd是上面一行的变量,所以不用加双引号,教程执行后多了一个名为flowacc_flow1的文件

outflowac = FlowAccumulation(outfd)

#条件运算,这里outflowac是上面一行的变量,所以不用加双引号,教程执行后多了一个名为con_flowacc_1的文件

outnet = Con(outflowac, 1, 0,"VALUE > 500")

#提取河网,因为这里 outnet , outfd 都是变量,所以都不加双引号

outstreamlink =StreamLink(outnet,outfd)

#提取子流域,因为这里 outfd , outstreamlink 都是变量,所以都不加双引号

outwatershed = Watershed(outfd,outstreamlink)

#输出结果,这里修改一下,填入需要保存的文件名,这里运行后就会保存成文件 outwatershed.tif

outwatershed.save("outwatershed.tif")


可以看到结果是一样的


地理信息系统导论 第十四章实习 习作3的评论 (共 条)

分享到微博请遵守国家法律