概述
在GIS中,距离通常是两个地点之间的计算,但有时人们想知道一个地点到所有其它地点的距离,这时得到的距离是一个距离表面。
这种距离表面通常情况是网格数据,每个网格中的值都表示到出发点的距离。
通过耗费距离得到的距离表面称为阻力表面或耗费表面,其属性值代表一耗费或阻力大小,如果每个网格中的距离值都为距离原点的最小耗费距离,则该表面为最小耗费距离表面。
可以根据阻力表面计算最小耗费距离。
如下是ArcGIS 10.8中,距离分析相关的工具:
距离分析工具
ArcGIS中,主要可以通过如下的几种方式进行距离分析:
1)欧氏距离分析;
2)成本加权距离分析;
3)用于垂直移动限制和水平移动限制的成本加权距离分析;
4)获取最短路径。
使用ArcGIS空间分析扩展实现距离分析,最主要的是欧氏距离分析和成本加权距离分析两类工具。
02
欧氏距离工具
欧氏距离工具测量每个像元距离最近源的直线距离(像元中心至像元中心的距离);
欧氏距离(Euclidean Diatance)—— 求得每个像元至最近源的距离;
欧氏方向(Euclidean Direction)—— 求得每个像元至最近源的方向;
欧氏分配(Euclidean Allocation)—— 求得每个像元的最近的源。
源(Source):
可以是感兴趣的地物的位置,数据方面,既可以是栅格数据,也可以是矢量数据。
但注意:如果数据选用了栅格数据,数据中必须仅包含表示源的像元,其他像元需要是Nodata,如果选用矢量,在执行工具之时,内部会将其先转成栅格。
欧氏距离的算法:
简单理解为:工具会求得每个像元至每个源的距离,然后取得每个像元至每个源的最短距离以输出。
其中,欧氏距离是像元中心与源像元的中心的直线距离。
欧氏距离的算法
如果像元与两个或更多源之间的距离相等,则计算都基于像元扫描过程中遇到的第一个源,无法控制该扫描过程。
帮助中有这样的描述:
工具在实际执行的过程中,进行两次顺序扫描。
这样,工具的执行速度与源像元的数目、分布以及最大距离无关。
影响工具执行速度的唯一因素是栅格的大小。
计算时间与“分析”窗口中的像元数成线性比例。
暂且不知道进行了什么样的两次顺序扫描。
欧氏距离输出栅格结果:
投影平面上,像元与最近源之间的最短直线距离,如下图。
与最近源之间的最短直线距离
欧氏方向输出栅格结果:
像元与最近源之间的方位角方向(以度为单位),使用 360 度圆,刻度 360 指北,90指东,从刻度 1 顺时针增加,值 0 供源像元使用,如下图。
欧氏方向输出栅格结果
欧氏分配输出栅格结果:
输出的每个像元都是距其最近源的值,如下图。
欧氏分配输出栅格结果
03
成本加权距离工具
成本加权距离工具可以看成是对欧氏直线距离的进一步修改,将经过某个像元的距离赋以成本因素。
举个简单的例子,翻过一座山到达目的地是最短的直线距离,绕行这座山距离较长,但是更节省时间和体力,那就后者的成本加权距离最短了。
1)成本距离(Cost Distance):求得每个像元至最近源的成本距离。
2)成本回溯链接(Cost back link):求得一个方向栅格,可以从任意像元沿最小成本路径返回最近源。
3)成本分配(Cost Allocation):求得每个像元的最近的源。
4)成本路径(Cost Patch):求的任意像元到最近源的最小成本路径。
备注:成本栅格可以是整形或者浮点型,但是其值中不能含有负值或者0。
成本栅格中的Nodata视为障碍。
成本距离输出栅格数据:这里的简单示例中,下面一层黑白渲染的是成本栅格,颜色深的像元代表成本比较高,反之较低,结果如下。
成本距离输出栅格数据
成本距离回溯链接:要注意的是,它并不会求的要返回哪一个源像元以及如何返回。
而是记录从任意像元回溯到最近源的路径上,每个像元向下一个像元指向的方向,这个方向以0-8的代码形式记录。如下图:
成本距离回溯链接
成本距离分配:这个类似于前面的欧氏距离分配,得到的是每个像元至最近源的成本距离。
成本距离分配
04
路径距离工具
路径距离工具与成本距离相似,也可以确定从某个源到栅格上各像元位置的最小累积行程成本。
但是,路径距离不仅可计算成本表面的累积成本,而且会考虑到行驶的实际曲面距离,和影响到移动总成本的水平和垂直因子。
主要包含这几个工具:
1)路径距离(Path Distance);
2)路径回溯链接(Path back link);
3)路径分配(Path Allocation);
这些工具生成的累积成本表面可用于扩散模型、流动和最低成本路径分析。
有关水平方向以及竖直方向的因子是如何影响的,工作原理是什么,ArcGIS官方帮助中有详细的解释。
05
获得最短路径
成本距离路径:任意像元到最近源的最小成本路径,需要引用到上面工具中生成的成本距离和成本回溯链接栅格数据。如下图:
成本距离路径
廊道:另外要说的是廊道分析工具(Corridor)。
此工具用于计算两个成本栅格的累积成本栅格结果,为了求得从一个源到另一个源且经过该像元位置的最小成本路径。
输出栅格不是单个最小成本路径,但会得到源之间累积成本的范围。
最后我们可以配合其他工具将小于某一阈值的结果提取出来,例如工具Extract by Attribute提取,或者通过Con进行条件赋值等等方法,获取结果。
如下如所示,学校A、B成本距离分析结果。
成本距离分析结果
学校C、D、E的成本距离分析结果。
成本距离分析结果
有此两个距离成本结果,来分析得到A、B到C、D、E之间的廊道,也就是两组源之间的最小累积成本距离。
分析得到A、B到C、D、E之间的廊道
然后结果中我们可以按照一定的阈值来提取结果,例如累积成本在75以下的我才能接受。
提取结果
至此,空间分析中的距离分析工具总结结束。