【ArcGIS处理】行政区划与流域区划间转化

【ArcGIS处理】行政区划与流域区划间转化

  • 引言
    • 数据准备
      • 1、行政区划数据
      • 2、流域区划数据
  • ArcGIS详细处理步骤
    • Step1:统计行政区划下子流域面积
      • 1、创建批量处理模型
      • 2、添加批量裁剪处理
      • 3、添加计算面积
    • Step2:根据子流域面积占比均化得到各行政区固定值
  • 参考

引言

依据水文模型得到流域尺度模拟结果时,需要将成果转化至行政区划下,此时应当如何实现呢?
【ArcGIS处理】行政区划与流域区划间转化_第1张图片
本案例用于得到行政区划固定值,主要思路如下:

  • 计算各行政区划下各子流域面积
  • 根据各行政区划下各子流域面积占比均化得到县区固定值

数据准备

1、行政区划数据

行政区划数据如下图所示:包含11个县区
【ArcGIS处理】行政区划与流域区划间转化_第2张图片

2、流域区划数据

子流域数据如下所示:
【ArcGIS处理】行政区划与流域区划间转化_第3张图片
因县区包含多个子流域,流域分区数据有多个,后续需要将其合并,以一并处理。

  • 操作1:合并多个子流域数据成一个图层,
    打开【Union】工具,选择多个子流域,以合并为同一图层
    【ArcGIS处理】行政区划与流域区划间转化_第4张图片
    成图如下所示:
    【ArcGIS处理】行政区划与流域区划间转化_第5张图片
  • 操作2:计算各子流域面积
    打开子流域属性表,右键点击【计算几何/Calculate Geometry】,界面如下:
    【ArcGIS处理】行政区划与流域区划间转化_第6张图片
  • 操作3:重新给各子流域编号
    【ArcGIS处理】行政区划与流域区划间转化_第7张图片

ArcGIS详细处理步骤

由于县区级行政区有多个,此处使用ModelBuilder设置批量处理,具体处理步骤如下。

Step1:统计行政区划下子流域面积

思路:批量裁剪得到各行政区划下子流域分布图并统计各子流域面积

1、创建批量处理模型

因为模型(Model)是要在工具箱(Toolbox)下面创建的,所以我们首先应该新建一个工具箱。选中文件夹,右键,在弹出的面板中选择“New”—>“Toolbox”,命名为批量处理(BatchProcess)即可,界面如下:
【ArcGIS处理】行政区划与流域区划间转化_第8张图片
选中批量处理(BatchProcess)工具箱,右键,在弹出的面板中选择“New”—>“Model”。如此,模型就被创建成功了。剩下的就是参数的设置了。
【ArcGIS处理】行政区划与流域区划间转化_第9张图片
模型设计界面如下:
【ArcGIS处理】行政区划与流域区划间转化_第10张图片

2、添加批量裁剪处理

将前文准备的行政区划数据和行政区划数据拖入模型界面,如下:均显示为椭圆形状的参数
【ArcGIS处理】行政区划与流域区划间转化_第11张图片
步骤1:设置迭代器
为【ElevenTowns】添加一个迭代器。在【Insert】中选择【Iterators】,在弹出的面板中选中“迭代器”—>“要素类”(由于处理文件为shp形式,添加要素迭代器)
【ArcGIS处理】行政区划与流域区划间转化_第12张图片
接下来将【ElevenTowns】与迭代器参数进行连接。选中右上角倒数第三个“线”工具,简单连接,如下:

方式2: 在迭代器上选择输入参数,设置输入文件路径为包含县区行政区划下文件即可
【ArcGIS处理】行政区划与流域区划间转化_第13张图片
连接完成界面如下:
【ArcGIS处理】行政区划与流域区划间转化_第14张图片

步骤2:添加裁剪工具箱

裁剪工具箱位置:Data Management Tools–Raster–Raster Pcocessing–Clip

从系统工具箱中拖入裁剪工具( 数据管理→栅格→栅格处理→裁剪),如下:
【ArcGIS处理】行政区划与流域区划间转化_第15张图片
接下来需要完成要素与裁剪工具的连接。

同样使用右上角的单数第三个“线”工具,要素数据与裁剪工具连接。一定要注意,输入要素为【流域Watershed】中的要素;裁剪要素为【ElevenTowns】
【ArcGIS处理】行政区划与流域区划间转化_第16张图片
为保存的裁剪后的要素名称设置环境变量,
【ArcGIS处理】行政区划与流域区划间转化_第17张图片
设置完成后,点击运行,如下图
【ArcGIS处理】行政区划与流域区划间转化_第18张图片
导入裁剪后各shp文件,界面如下:
【ArcGIS处理】行政区划与流域区划间转化_第19张图片

3、添加计算面积

批量裁剪完成后,需要添加新的模型批量计算各县区下各子流域所占面积:
步骤1:添加迭代器
【ArcGIS处理】行政区划与流域区划间转化_第20张图片
步骤3:添加字段
因为要计算面积(或者长度之类),所以需要添加一个字段用以存储计算的数据。你可以打开ArcToolbox工具箱,依次选择【数据管理工具】→【字段】→【添加字段】,并把添加字段工具拖到模型界面,如下
【ArcGIS处理】行政区划与流域区划间转化_第21张图片
双击【添加字段】或者右键弹出选择参数:

  • 【输入表】:插入迭代器后出现的【连接器】
  • 【字段名称】:选择合适的名称添加就可以
  • 【字段类型】:可根据数据精度要求自行选择

【ArcGIS处理】行政区划与流域区划间转化_第22张图片
点击【OK】后,界面如下:
【ArcGIS处理】行政区划与流域区划间转化_第23张图片
步骤4:计算字段
根据同样的操作,找到【计算字段】工具,并将其拖到模型界面,如下:
【ArcGIS处理】行政区划与流域区划间转化_第24张图片
双击或者右键弹出设置参数,设置如下:

  • 【输入表】:选择【添加字段】后弹出的模型的连接器
  • 【字段名称】:上一步起名的字段;
  • 【计算公式】:!shape.area@acres!(这是python计算面积的公式)
    一定记得【表达式类型】选择【python】

【ArcGIS处理】行政区划与流域区划间转化_第25张图片
设置完成后,整个界面如下所示:
【ArcGIS处理】行政区划与流域区划间转化_第26张图片
点击运行,结果如下:
【ArcGIS处理】行政区划与流域区划间转化_第27张图片

Step2:根据子流域面积占比均化得到各行政区固定值

思路:根据各面积占比,类似泰森多边形法求得面降水量,计算得到各行政区固定值

根据以上处理步骤可得到各行政区划下各子流域面积,可根据面积占比,计算得到行政区划下特征值。

参考

1、知乎-【ArcGIS教程】(88)模型—批量裁剪
2、知乎-【ArcGIS教程】(106)模型构建器(2)——批量计算图层面积

你可能感兴趣的:(ArcGIS相关,水文专业相关,ArcGIS)