【ArcGIS操作】4 空间分析篇
目录
本内容整理自汤国安、钱柯健、熊礼阳等教授编著的《地理信息系统 基础实验操作100例》。感谢!
- 栅格计算器计算nodata栅格数据最后结果依然是nodata。例如两条栅格线段进行相加结果只有两条线段的交点。
文章目录
- 1、多图层叠加查询
- 2、土地利用变化分析
- 3、创建闭合线内部缓冲区
- 4、灾害影响缓冲区分析
- 5、气体扩散空间分析
- 6、按网格统计点要素
- 7、按要素分区统计路网
- 8、按栅格分区统计路网
- 9、分区统计降雨量
- 10、随机采样统计
- 11、创建最小边界几何
- 12、聚集点空间特征分析
- 13、查找点集中最近最远点
- 14、查找面到直线的最近点位置
- 15、创建线要素间的最近垂线
- 16、矢量面重叠分析
- 17、计算矩形方向
- 18、按距离分配空间
- 19、创建面要素的Voronoi
- 20、创建点、线、面要素混合的Voronoi
- 21、栅格欧式分配
- 22、以图形与表格构建趋势面
- 23、插值模型的精度分析
- 24、计算栅格图层总和值
- 25、平滑处理栅格数据
- 26、创建地形剖面图
- 27、计算河道方向坡度
- 28、计算上游集水区污染值
- 29、三维爆炸分析
- 30、三维可视化分析
1、多图层叠加查询
基于位置的查询是进行多图层叠加分析的常用功能,突出了地理数据最关键的属性——位置。
按位置查询 | 目标图层 | 源图层 | 空间选择方法 | 实例 |
---|---|---|---|---|
需要导出数据选择的图层 | 标识导出哪些数据的图层 | 查询河流经过的网格,目标图层为河流,源图层为网格,选择方法为“与源图层要素相交” |
2、土地利用变化分析
查询并导出土地利用变化的数据。
序号 | 步骤 | 工具 | 位置 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|---|
1 | 执行标识操作 | 标识 | 【分析工具】>【叠加分析】>【标识】 | 两个土地利用图层 | 结果两个图层的属性字段都会被保留 | ||
2 | 提取土地利用变化区域 | 按属性选择 | 【属性表】>【表选项】>【按属性选择】 | 1_ID<>2_ID | 导出所选要素 |
3、创建闭合线内部缓冲区
首先要将线的方向进行符号化,确定缓冲区侧方向的参数
序号 | 步骤 | 工具 | 位置 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|---|
1 | 符号化线的方向 | 符号选择器 | 选择“Arrow at end”符号 | 线的方向为顺时针,则线内部缓冲区范围在沿线方向的右侧 | |||
2 | 创建内部缓冲区 | 缓冲区 | 【分析工具】>【邻域分析】>【缓冲区】 | line | buffer | 侧类型选择“RIGHT”或“LEFT”,末端类型选择“FLAT” | |
3 | 将线要素转为面要素 | 要素转面 | 【数据管理工具】>【要素】>【要素转面】 | line | polygon | ||
4 | 裁剪缓冲区 | 裁剪 | 【分析工具】>【提取】>【裁剪】 | buffer | buffer_clip | 裁剪要素为“polygon” |
4、灾害影响缓冲区分析
将受灾范围缓冲区数据属性赋予道路数据进行符号化得出不同影响级别的道路数据。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 计算潜在影响范围数据 | 多环缓冲区 | 灾害范围数据 | buffer | 若实际操作的数据具有坐标系单位,请务必选择该坐标系下的距离单位 | |
2 | 叠加分析各影响区内的道路 | 标识 | 受灾害影响的道路数据 | buffer_affect | 标识要素为“buffer” | |
3 | 符号化显示不同影响下的道路 | 符号系统>类别 |
5、气体扩散空间分析
开敞空间:建筑物以外的空间,即道路、绿地等。
密闭空间:建筑物内部。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 符号化显示土地利用 | 符号系统>类别>唯一值 | landuse | |||
2 | 计算扩散范围 | 缓冲区 | 气体泄漏地点spot | affected | 距离设为300米 | |
3 | 提取密闭空间建筑物 | 按属性选择 | TYPE=Building | |||
4 | 提取开敞区域 | 擦除 | affected | open | 擦除要素设为土地利用类型数据landuse | |
5 | 计算开敞空间面积 | 添加字段、计算几何 |
6、按网格统计点要素
空间点分布分析中应用样方分析方法时需要用到。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 创建公里网格统计单元 | 创建鱼网 | grid | 行数和列数根据模板范围和像元宽度高度计算得到 | ||
2 | 格网统计 | 连接数据,另一个基于空间位置的图层的连接数据 | statistic | 连接数据为点数据,汇总属性为总和 | ||
3 | 制作用户登陆人数的空间分布图 | 符号系统,唯一值 | 值字段为“count_”个数,添加所有值 |
7、按要素分区统计路网
标识得到被省份分区所标识的公路数据,同一公路数据在边界处被分割。(矢量格式分区图层)
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 标识公路数据 | 标识 | roads | marked_line | 标识要素为province | 得到被省份分区所标识的公路数据,同一公路数据在边界处被分割 |
2 | 计算公路长度 | 属性表、添加字段、计算几何 | ||||
3 | 统计各省公路长度 | 汇总 | 汇总字段“PROVINCE”,统计字段“road_len”,汇总属性“总和” | |||
4 | 绘制统计直方图 | 视图 |
8、按栅格分区统计路网
欧氏距离求栅格数据分区,再转矢量。(栅格格式分区图层)
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 创建直线距离分区 | 欧氏距离 | market点数据 | region_raster | 处理范围与道路网数据road一样 | |
2 | 栅格数据转矢量面 | 栅格转面 | region_raster | region | 字段“VALUE” | |
3 | 标识道路数据 | 标识 | road | marked_road | 标识要素“region” | |
4 | 统计各分区道路总长度 | 汇总 |
9、分区统计降雨量
分区统计栅格结果以表格形式显示。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 导入采样点数据 | 添加XY数据、导出数据 | rainfall.txt | points | ||
2 | 生成全区降雨量数据 | 反距离权重法 | points | rainfall | z值字段“P” | |
3 | 统计各管理区降雨量总量 | 分区统计 | zone | sun_P | 区域字段“index”,输入赋值栅格“rainfall”,统计类型“SUM” | |
4 | 统计降雨量总量表格 | 以表格显示分区统计(区域分析) | zone | t_sum_P | 区域字段“index”,输入赋值栅格“rainfall” | |
5 | 绘制统计直方图 | 创建视图 |
10、随机采样统计
通过创建随机分布的统计圆对各圆形范围内的空间数据计算统计指标。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 创建随机分布点 | 创建随机点(数据管理工具>采样) | sample_pts | 约束范围、点数、最小允许距离 | ||
2 | 创建统计圆单元 | 缓冲区 | sample_pts | circles | 融合类型为“NONE” | |
3 | 以圆为单元统计高程值 | 以表格显示分区统计(区域分析) | circles | 表statistics | 区域字段为“FID”,统计类型为“ALL”,输入赋值栅格 | |
4 | 将统计结果表连接至统计圆图层 | 连接(表的连接属性) | ||||
5 | 符号化统计圆 | 符号系统>类别>唯一值 |
11、创建最小边界几何
最小边界几何时常被用来确定当前分析对象在空间上的最小占据范围。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 符号化显示点群 | 符号系统>类别>唯一值 | points | |||
2 | 提取最小边界几何数据 | 最小边界几何(数据管理工具>要素) | points | area_min | 几何类型为“PECTANGLE_BY_AREA”,选项组为“LIST”,分组字段为“TYPE” | 几何类型还有宽度最小矩形、最小凸多边形、最小圆形、包络矩形 |
12、聚集点空间特征分析
聚集点中心位置、在X、Y方向上的标准差、聚集点趋势方向。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 符号化显示分类的点数据 | 符号系统>类别>唯一值 | point | |||
2 | 计算空间分布特征 | 方向分布(空间统计工具>度量地理分布) | point | circle | ||
3 | 查看空间分布特征值 | 打开属性表 | 聚集点中心坐标(CenterX、CenterY)、在XY方向上的标准差距离值(XStdDist、YStdDist)、聚集点趋势方向(旋转)(趋势方向的起始方向为正北) |
13、查找点集中最近最远点
点集中距离最近、最远的点对。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 计算点距离 | 点距离(邻域分析) | points | distance | 邻近要素也为“points” | 计算结果忽略点与自身 |
2 | 查找最近、最远的点对 | 升序排列、降序排列(属性表,右击distance字段) |
14、查找面到直线的最近点位置
以面要素的各个节点作为分析对象,求算各节点到直线的最近距离,实现面要素与直线的距离计算。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 面要素转折点 | 要素折点转点 | area | vertices | 点类型“ALL” | |
2 | 计算折点与线的最近距离 | 邻近分析 | vertices | 邻近要素为“line” | 折点属性表内记录折点到线的最近距离 | |
3 | 查询各面要素折点距离直线的最近距离 | 汇总 | vertices | nearest | id字段记录折点所属的面要素 | |
4 | 确定各面要素的最近点位置 | 连接(表的属性连接) | 连接选择为“仅保留匹配记录” |
15、创建线要素间的最近垂线
先将线要素转为点要素,旧山最近垂线位置,并将垂线生成线要素
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 线要素转折点要素 | 要素折点转点(数据管理工具>要素) | road | point | 点类型为“ALL” | |
2 | 近邻分析 | 近邻分析(分析工具>邻域分析) | point | 邻近要素“Line”,勾选“位置” | 勾选位置后,line图层距离点图层最近距离和最近距离位置会被记录到点要素属性表中 | |
3 | 添加折点坐标 | 添加XY坐标 | point | 折点要素的坐标值被写入其属性表中 | ||
4 | 创建近邻分析结果的连线要素 | XY转线 | point | xyline | ||
5 | 创建最近垂线要素 | 升序排列 | point | nearline | 依据NEAR_DIST字段升序排列,选择两个距离最近的点要素,重复步骤4即可得到最近垂线要素 |
16、矢量面重叠分析
在同一图层根据重叠区域来构建重叠要素之间的联系。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 提取重叠区域数据 | 要素转面 | circles | overlay | 该工具将发生重叠区域生成心得面图形 | |
2 | 传递属性信息 | 空间连接(分析工具>叠加分析) | results | 目标要素“overlay”,连接要素“circles”,连接操作“JOIN_ONE_TO_MANY”,匹配类型“WITHIN” | ||
3 | 分析发生重叠的图形关系 | 打开results属性表,查看字段“TARGET_FID”,相同字段表明有重叠发生,发生重叠的圆图形ID值就是字段“JOIN_FID”中所列出来的值 |
17、计算矩形方向
矩形要素具有长轴和短轴,其长轴方向也称为矩形面的主角度,可用于确定面要素的走向趋势。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 创建角度字段 | 添加字段Direction | ||||
2 | 计算矩形长轴方向 | 计算面的主角度(制图工具>制图优化) | rectangles | 正东为0°,顺时针为负,逆时针为正 |
18、按距离分配空间
常规的泰森多边形算法按照距离对点对象进行等权重空间分配,其分配结果往往对整个区域进行分配,而每个点要素受其自身条件的限制,其分配区域存在一定范围,需要借助缓冲区进行限定。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 全局分配空间 | 创建泰森多边形(分析工具>邻域分析) | points | Thiessen | 输出字段为“ONLY_FID” | |
2 | 提取缓冲区 | 缓冲区 | points | buffer | ||
3 | 裁剪条件分区 | 裁剪 | Thiessen | regions | 裁剪要素“buffer” |
19、创建面要素的Voronoi
创建面要素泰森多边形的方法,以节点要素替代面要素进行空间分配,通过融合同一面域的分区实现面要素的距离分配。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 提取面要素边界折点 | 要素折点转点 | buildings | vertices | ||
2 | 对节点进行空间分配 | 创建泰森多边形 | vertices | voronoi | 输出字段“ONLY_FID” | |
3 | 生成面要素的空间分配结果 | 更新 | voronoi | results | 更新要素“buildings”,取消勾选边框 |
20、创建点、线、面要素混合的Voronoi
线要素通过合并得到结果,面要素通过更新得到结果。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 提取线要素和面要素折点 | 要素折点转点 | roads、buildings | roads_pts、buildings_pts | ||
2 | 合并点、线、面要素的折点 | 合并(数据管理工具>常规) | tower、roads_pts、buildings_pts | pts | ||
3 | 对折点进行空间分配 | 创建泰森多边形 | pts | voronoi | ||
4 | 选择线要素的空间分配结果 | 按位置选择 | 目标图层“voronoi”,源图层“roads”,选择方法“与源图层要素相交” | |||
5 | 生成线要素的空间分配结果 | 合并(编辑器) | ||||
6 | 生成最终的空间分配结果 | 更新 | voronoi | results | 更新要素“buildings”,取消勾选“边框” |
21、栅格欧式分配
栅格数据距离分配直接用欧式分配得到,要注意处理范围和像元大小的设置。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 对点要素进行空间分配欧式分配 | tower | region_pt | 源字段“FID”,处理范围根据实际情况设置,此处与“road”一样 | ||
2 | 对线要素进行空间分配 | 欧式分配 | road | region_line | 源字段“FID”,处理范围根据实际情况设置,此处与“road”一样,像元大小与“region_pt”一样 | 像元大小设置一样,保证每个图层结果的栅格数据像元大小相同 |
3 | 对面要素进行空间分配欧式分配 | buildings | region_plg | 源字段“FID”,处理范围与“road”一样,像元大小与“region_pt”一样 |
22、以图形与表格构建趋势面
连接仅是临时操作,连接入的数据不会永久存储在样点图层中,一旦移除图层后,该连接自动断开,需要创建新字段将所需字段值保存在样点图层中。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 加载excel表格数据 | 添加数据 | frequency.xls中pts$表格(采样点的数据记录) | |||
2 | 连接表格 | 连接 | pts(用于构建趋势面的点要素)、pts$(表格) | 保证具有相同字段以连接 | ||
3 | 创建字段并保存字段值 | 添加字段 | pts | 添加“frequency”字段,类型“短整型”,右键“pts.frequency”选择字段计算器输入“pts$.prequency” | 由于连接仅是临时操作,连接入的数据不会永久存储在样点图层中,一旦移除图层后,该连接自动断开,需要创建新字段将所需字段值保存在样点图层中 | |
4 | 创建空间趋势面数据 | 反距离权重法 | pts | idw | z值字段“pts.prequency”,输出像元大小“5”,环境处理范围“与图层forest相同”(forest:趋势面范围数据) | |
5 | 裁剪出林地范围内数据 | 按掩膜提取(提取分析) | idw | inside_idw | 输入栅格数据或要素掩膜数据“forest” | |
6 | 自然裂点法显示 | 符号系统>类别>分类>自然断点法10类 |
23、插值模型的精度分析
训练点集用于插值表面的生成,检验点集用于计算插值误差。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 抽取采样点 | 子集要素(Geostatistical Analyst工具>工具) | points | 输出训练要素类“train”,输出测试要素类“test” | 训练要素子集大小“70”,子集大小单位“PERCENTAGE_OF_INUT”或“ABSOLUTE_VALUE” | 得到30%的检验点集 |
2 | 计算插值表面 | 样条函数法 | train | spline | z值字段为点集属性表中的“value”字段 | |
3 | 提取趋势面值 | 多值提取至点(Spatial Analyst工具>提取分析) | test、spline | 将检验点处的趋势面值记录到该点击属性表中 | ||
4 | 计算插值与真值的绝对差 | 添加字段 | test | 右键test图层打开属性表添加Diff字段,计算字段值“Abs([value]-[spline])” | ||
5 | 计算误差精度的各项统计参数 | 添加字段 | test | statistics.dbf | 右键test图层打开属性表添加ID字段,默认值均为0,汇总Diff字段的最小值、最大值、平均、总和、标准差和方差等统计指标 |
24、计算栅格图层总和值
栅格数据具有特殊的数据结构,其属性值与栅格像元同步存储,无独立的属性表。创建栅格整个范围,赋予栅格数据值,利用分区统计得到栅格数据总和。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 查看默认统计参数 | 属性表>源>栅格信息和统计值 | ||||
2 | 创建统计区域 | 栅格计算器 | dem | region | “dem”>0 | 得到整个栅格范围图层 |
3 | 统计栅格区域值的总和 | 分区统计(区域分析) | region、dem | sum | 统计类型“SUM” |
25、平滑处理栅格数据
噪声是属性值具有突跃特征的像元位置,直接对带有噪声的栅格数据进行分析会对结果造成较大的影响。降噪的主要方法之一是平滑,包括均值平滑、中值平滑等。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 查看当前栅格数据属性 | 图层属性>源 | ||||
2 | 平滑处理 | 焦点统计 | 统计类型“MEAN” |
26、创建地形剖面图
地形高程、气温变化。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 添加三维分析工具条 | 3D Analyst | ||||
2 | 设置剖面图相关参数 | 3D Analyst选项 | 图形数据、插值(插值方法、剖面采样方法) | |||
3 | 绘制剖面线 | 线插值 | ||||
4 | 生成剖面图 | 创建剖面图 | 先选中剖面线,再创建剖面图。同时由该剖面线采样、插值生成的采样点数据被保存到3D Analyst选项设置的图形数据位置中。 |
27、计算河道方向坡度
提取河网上各处的高程值是计算河道方向坡度值的前提。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 栅格化河道数据 | 折线转栅格 | rivers | str | 值字段“ORID_CODE”,像元大小“与dem相同” | 河道栅格值由DRID_CODE字段决定,即等于1,河道栅格值为1,非河道为NoData |
2 | 提取河道高程值 | 栅格计算器 | str_dem | “str”*“dem” | 河道栅格值为高程值,非河道为NoData | |
3 | 计算坡度数据 | 坡度 | str_dem | str_slope | 由于仅河道栅格有值,非河道栅格值为NoData。计算坡度时,NoData不参与计算,所以结果坡度为河道方向上的坡度值 |
28、计算上游集水区污染值
水文分析分水岭倾泻点数据设为监测点数据。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 填洼处理 | 填洼 | dem | fill | ||
2 | 计算流向 | 流向 | fill | dir | ||
3 | 计算上游集水区 | 分水岭 | dir、position(监测点数据) | watershed | 倾泻点字段“ID” | 根据流向获得的上游集水区范围数据,限定了该点受上游污染影响的范围 |
4 | 统计上游集水区内污染值总和 | 分区统计 | watershed | affect | 区域字段“VALUE”,输入赋值栅格“pollution”(污染物分布栅格数据),统计类型“SUM” | affect栅格数据的值均为某个值,即该监测点上游集水区内污染值总和 |
29、三维爆炸分析
3d相交、按位置选择。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 创造爆炸点三维数据 | ArcScene、依据属性实现要素转3D(3D Analyst工具>3D要素) | views(爆炸点数据) | viewsd | ||
2 | 三维符号化爆炸的影响范围(创建半径为100m球体符号) | 符号系统>符号选择器>编辑符号>符号属性编辑器 | 类型“3D简单标记符号”,样式“球体”,宽度深度均为“100”(单位一致) | 显示透明度“50%” | ||
3 | 创造爆炸范围体数据 | 3D图层转要素类 | 已符号化的viewsd | explosion | ||
4 | 提取爆炸直接影响的建筑体数据 | 3D相交 | explosion、buildings_3d | buildings_affected | ||
5 | 提取受爆炸影响的建筑物 | 按位置选择 | 目标图层“buildings_3d”,源图层“buildings_affected”,空间选择方法“目标图层要素与源图层要素相交(3d)” |
30、三维可视化分析
相交线段属性表中的LINE_OID字段对应原始视线的ID值,若LINE_OID字段同一值的个数大于1,则表明原始视线被建筑体分割成线段。
序号 | 步骤 | 工具 | 输入要素 | 输出要素 | 参数设置 | 备注 |
---|---|---|---|---|---|---|
1 | 构造视点与道路的视线集 | 构造通视线 | 视点分析“view_point(矢量观测点数据)”,目标要素“road” | sights | ||
2 | 视线与建筑体的相交处理 | 3D线与多面体相交 | sights、CityModel(三维建筑体数据) | int_pt、int_line | 连接属性“ALL” | |
3 | 依据可通视性划分视线集 | 汇总 | int_line | table | 右击LINE_OID字段 | 相交线段属性表中的LINE_OID字段对应原始视线的ID值,若LINE_OID字段同一值的个数大于1,则表明原始视线被建筑体分割成线段 |
4 | 计算可见程度 | 按属性选择 | table | Cnt_LINE_O=1 | 按属性选择的视线总数除以视线总数值为可见程度百分比 |
转载自:https://blog.csdn.net/qq_40628258/article/details/83546003