ARCGIS教程 第八章 栅格空间距离计算

更新时间:2024-01-11 08:07:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第八章 栅格空间距离计算

1 生成栅格距离图

打开地图文档\\gis_ex09\\ex08\\ex08.mxd,激活 data frame1,可看到有二个图层: 点状图层“消防站”和线状图层“道路”,前者则用于产生离开消防站的距离图, 后者用于确定分析的范围和背景显示(参见图 8-1)。

图 8-1 data frame1 的显示

鼠标双击 data frame1 名称,调出对话框 Data Frame Properties,选择 General标签,用下拉式菜单将 Map Unites 和 Display Units 从 Unknown Units 改为 Meters(米),完成后按“确定”键关闭。选用菜单 Tools / Extensions…,勾选 Spatial Analyst,栅格分析加载扩展模块被加载,在 View / Toolbars 下勾选 Spatial Analyst, 窗口中增加了栅格分析工具条。选用菜单 Spatial Analyst / Options…,作栅格分析初始化设置:

(1)General 标签

Working:D:\\gis_ex09\\ex08\\temp\\ 鼠标展开选择 Spatial Analyst 的工作路径 Analysis mask: 不选,本练习暂不考虑 Analysis Coordinate System:

● Analysis output will be saved in the same coordinate system as the input (or first raster input if there are multiple… 点选上侧,产生栅格的坐标系和输入数据相同

(2)Extents 标签

Analysis extent:Same as Layer:“道路” 下拉选择图层,限定分析空间范围 (3)Cell size 标签

Analysis cell:As Specified Below 下拉选择

Cell size:50 键盘输入栅格单元的大小 Number of Rows:82 边界和栅格单元大小确定后,自动确定栅格行数 Number of Columns:136 边界和栅格单元大小确定后,自动确定栅格列数

按“确定”键,完成初始化设置。选用菜单 Spatial Analyst / Distance / StraightLine…,出现 Straight Line 参数设置对话框:

Distance to:消防站 下拉选择图层名,消防站为距离的参照点 Maximum distance: 不限定最大的计算范围,保持空白 Output cell size:50 默认,使用初始化设置

Output raster:distance1 键盘输入栅格数据名称,存放路径为初始化的设置

按 OK 键,产生离开消防站的距离栅格图层 distance1,读者可以改变它的显 示符号,参照高程栅格生成等高

线的操作,进一步产生间距为 400 米的等距线(参见图 8-2),等距线的意义和用矢量方法产生的多重 Buffer 相同(详见第 10 章)。

图 8-2 从点状要素产生的栅格距离图

图 8-3 直线距离计算示意

2 考虑成本的距离

成本距离(Cost Distance)是计算离开“源”到达每个单元(或从每个单元开始到达“源”)沿途经过所有单元的累计成本,在一定条件下选择累积通行成本最低为路径,和直线距离(Straight Distance)不同:

直线距离是计算每一单元和指定“源”之间的直线距离,仅距离计算长度,量算的是从一个单元中心到另一单元中心的距离(见图 8-2,图 8-3)。

成本距离(Cost Distance)计算不仅需要“源”图层,还需要“成本”图层。成本图层中每一个栅格单元的取值表示通过该单元的成本,可称“通行成本”。按 累计通行成本最低决定离开“源”到达每个单元(或从每个栅格单元到达“源”) 的成本值。累计通行成本的计算既要考虑栅格单元之间的距离,也要考虑每个单 元的通行成本,如果每个单元的通行成本都一样,就可以用直线距离来计算,计 算完后再乘一个单元成本值。如果每个单元的成本有差异,计算方法就比较复杂, Spatial Analyst 称作 Cost Weighted Distance(以成本为权重的距离)。

图 8-4 data frame2 的显示

3 计算公路建设成本

地图文档\\gis_ex09\\ex08\\ex08.mxd 已打开,如果 Spatial Analyst 未加载,选用菜单 Tools / Extensions…,加载 Spatial Analyst。如果窗口中没有栅格分析工具条,在 View / Toolbars 下勾选 Spatial Analyst。激活 data frame2,有点状的矢量图层“公 路起点”和栅格图层“地形坡度”(见图 8-4)。

假定在栅格范围内要建设一条公路,从“起点”出发,路径的选择必须考虑 建设成本,本练习要求计算从“公路起点”出发到达既定空间范围内任何位置的 最小成本,产生的栅格中每个单元的取值是从“源点”修建公路到达该点的最低 累计值。公路的修建费用和两个因素有关:一是公路的长度,与“源点”之间的 距离越远,建设费用越高;二是地形的坡度,坡度越大,需要付出的额外建设费 用越大。“公路起点”图层是矢量的,需转换为栅格状的图层,成本图层“地形坡 度”是栅格的,需要转换成通行成本。鼠标双击 data frame2,调出 Data Frame Properties 对话框,在 General 标签中将 Map Unites(地图单位)和 Display Units(显示单位)从 Unknown(未定义)改为 Kilometers(千米),按“确定”键返回。

3.1 点状矢量转换成栅格源图层

选用菜单 Spatial Analyst / Options…,设置 Spatial Analyst 的初始化参数: (1)General 标签

Working:D:\\gis_ex09\\ex07\\temp\\ 鼠标展开选择 Spatial Analyst 的工作路径 Analysis mask: 不选,本练习暂不考虑 Analysis Coordinate System:

● Analysis output will be saved in the same coordinate system as the input (or first raster input if there are multiple… 点选上侧,产生栅格的坐标系和输入数据相同

(2)Extents 标签

Analysis extent:Same as Layer:“地形坡度” 下拉选择图层,限定分析范围 (3)Cell size 标签

Analysis cell:As Specified Below 下拉选择

Cell size:1 键盘输入栅格单元的大小 Number of Rows:37 边界和栅格单元大小确定后,自动确定栅格行数 Number of Columns:38 边界和栅格单元大小确定后,自动确定栅格列数

按“确定”键,完成初始化设置,选择菜单 Spatial Analyst / Convert / Features to Raster…(将矢量数据转换为栅格),调出 Features to Raster 参数设置对话框:

Input features:公路起点 下拉选择图层名,确定数据源

Field:ID 下拉选择字段名,栅格单元的Value 值取自“公路起点”要素属 性表的 ID 字段 Output cell size:1 栅格单元大小在初始化时设定,默认

Output raster:origin 键盘输入栅格数据名称,存放路径为初 始化的设定 按 OK 键,产生成本计算用的栅格型“源”图层 origin,该图层中有意义的 栅格单元仅一个。

3.2 生成通行成本图层 “地形坡度”是表示坡度的栅格,在工程上一般用百分比,已经生成的图层 用的是角度,需要重新分类:

百分比坡度(%) 角度 相对工程成本

0 – 2 0 – 1.15 1

2 – 5 1.15 – 2.86 2

5 – 10 2.86 – 5.71 3

10 – 15 5.71 – 8.53 4

15 – 20 8.53 – 11.31 5

20 – 25 11.31 – 14.04 6

25 – 30 14.04 – 16.70 7

30 – 40 16.70 – 21.80 8

40 – 50 21.80 – 26.57 9

50 – 60 26.57 – 30.96 10

60 – 70 30.96 – 35.00 11

选用菜单 Spatial Analyst / Reclassify…,出现再分类对话框,在 Input raster 下拉菜单中选择图层“地形坡度”,点击 Classify…按钮,再出现 Classification 对 话框:

Method: Equal Interval 按等间距方式分类 Classes:11 共分 11 类 按 OK 键继续,修改对照表:

Old Values(原来值) New Values(修改后的值) 按角度计算的地形坡度 相对的建设成本

0 - 1.15 1

1.15 - 2.86 2

2.86 - 5.71 3

5.71 - 8.53 4

8.53 - 11.31 5

11.31 - 14.04 6

14.04 - 16.70 7

16.70 - 21.80 8 21.80 - 26.57 9

26.57 - 30.96 10

30.96 - 35.00 11

在 Output raster 属性栏中输入转换后的栅格数据名为 cost,数据存放路径按 初始设定,按 OK 键确定,产生修建公路的通行成本图层 cost(见图 8-5)。

图 8-5 按坡度分类的成本图层

3.3 计算成本距离 有了源图层和通行成本图层,就可以计算成本距离,选用菜单 Spatial Analyst / Distance / Cost Weighted…,系统出现 Cost Weighted(成本权重)参数设置对话框:

Distance to: origin 下拉选择,源图层名 Cost raster: cost 下拉选择,成本图层名

Maximum distance: 不限定最大的计算范围,保持空白 Output raster: Calculation 键盘输入栅格数据名称,存放路径和初始设定一致

按 OK 键确定,系统产生成本距离图层 Calculation,其中每个单元的取值表 示从公路起点到达该位置的最小累计成本,也就是相对的最低建设费用(见图8-6)。

图 8-6 考虑坡度的累计成本图层图

3.4 成本距离和直线距离的比较

可以将成本距离计算和直线距离计算做一个比较。选用菜单 Spatial Analyst /Distance / Straight Line,系统出现 Straight Line 参数设置对话框:

Distance to:公路起点 下拉选择图层名,以公路起点为起始点计算距离 Maximum distance: 不设置,不限定最大的计算范围,保持空白

Output cell size:1 栅格单元大小,按初始化的设定,默认 Output raster:straight 键盘输入栅格数据名称,路径和初始设定一致

按 OK 键确定,产生栅格图层 straight(见图 8-7),这是按直线距离计算的结果,可以看到,直线距离分析的结果呈同心圆式,而成本距离计算不仅考虑空间 距离,还考虑每个单元的通行成本,得到的结果和同心圆有明显差异。

图 8-7 离开“源”的距离图

练习结束,选用菜单 File / Exit,退出 ArcMap,软件提示是否要保存对 MapDocument 作过的改动,如果本次练习完成后,不影响以后的、他人的练习,应选“否(No)”回答。

图 8-8 成本距离计算原理

4 成本距离的计算原理

成本距离计算的关键在累计。每一单元通行成本的计算既考虑栅格单元之间 的距离,也考虑各单元的通行成本,累计成本是从上一个单元的累计成本和本单 元的通行成本相加,计算公式为:

accum_cost = al + ((cost_a + cost_b) / 2) ×D accum_cost:某一单元 b 的累计通行成本

al:上一个相邻单元 a 的累计通行成本 cost_a:单元 a 的成本 cost_b:单元 b 的成本

D:相邻单元 a、b 之间的距离,按两个单元的中心点计算。如果单 元边长为 d,则上下左右相

邻单元之间的距离就是 d;对角线方向相邻单元之间的 距离为

成本距离的计算过程是从“源”出发的推移过程(也可以是逆向的),具体 计算过程如图 8-8 示意。成本距离是从“源”开始的最小累计成本,某个特定单 元,可以有多个上一级相邻单元,这就出现了多条路径的问题,上述公式计算出 到达单元的多个累计成本值,再选择其中最小者。如果在成本图层上有“无值” 栅格单元(No Data),计算时将自动避开。

5 本章小结

(1)用栅格计算直线距离比较简单,和矢量模型中的邻近区(Buffer Zone) 类似。

(2)成本距离计算稍复杂,需要“源”图层(本练习取名为 origin)和“通 行成本”图层(本练习取名为 cost)。

(3)源图层和通行成本图层都是栅格型,如果原始数据为矢量型,应转换 成栅格。

(4)成本距离是从“源”到每一单元的最小累计成本,也可以是逆向的。 累计成本的计算和栅格单元之间的距离、通行成本有关,将上一级单元累计通行 成本、本单元的通行成本、通行距离三者相加后得到。

(5)成本图层中单元的取值往往是相对值,实际应用时还要进一步考虑距 离、通行成本在量纲上的差异。

本文来源:https://www.bwwdw.com/article/w0ko.html

Top