经常问到的一个最基本 GIS 问题是“什么在什么附近?”例如:
- 这口井距离某个垃圾填埋场有多远?
- 距离某条溪流 1,000 米之内是否有道路通过?
- 两个位置之间的距离是多少?
- 距某物最近或最远的要素是什么?
- 一个图层中的每个要素与另一图层中的要素之间的距离是多少?
- 从某个位置到另一位置最短的街道网络路径是哪条?
根据工具所支持的输入类型,“邻域分析”工具分为两类:基于要素的工具或基于栅格的工具。基于要素的工具将因所生成输出类型的不同而有所差异。例如,缓冲区工具可输出面要素,该要素随后将用作叠加或空间选择工具的输入,如按位置选择图层。近邻分析工具可向输入要素添加距离测量属性。基于栅格的“欧氏距离”工具可测量源像元中心与目标像元中心之间的距离。基于栅格的成本距离工具可累积遍历源与目标之间每个像元的成本。
基于要素的邻域分析工具
对于要素数据,在邻域分析工具集中能够找到的这些工具可用于挖掘邻近性关系。它们将会输出带有缓冲区要素或表的信息。缓冲区通常用于描绘要素周围受保护的区域或用于显示重要的区域。例如,您以一英里的距离为一所学校设置缓冲区,然后通过该缓冲区选择居住在该学校一英里以外的所有学生,以便为他们制订往返学校的交通方案。使用多环缓冲工具可将某要素周围的区域划分为近距离、中等距离和长距离几类来进行分析。有时缓冲区可用于按照指定研究区域裁剪数据或从分析中排除临界距离内一些不值得进一步考虑的要素。
缓冲区和多环缓冲区将以一个指定距离(或多个指定距离)在输入要素周围创建区域要素。
以下是经过缓冲的线和点的示例:
以下是多环缓冲区的一个示例:
缓冲区可用于从其他要素类中选择要素或通过叠加工具与其他要素合并,这样便可找到落入缓冲区内的那部分要素。
以下是与面要素叠加的缓冲点示例:
以下是按照缓冲区域进行裁剪的研究区域示例:
近邻分析工具可计算一个要素类中各点与另一要素类中最近的点或线要素之间的距离。使用近邻分析可查找距离一组野生动物观测站最近的河流或距离一组旅游景点最近的公交车站。近邻分析工具还会添加“要素标识符”和最近要素的坐标及与该最近要素所成的角度(可选)。
以下是显示河流要素附近的点的示例。根据与河流的距离使用分级色彩对这些点进行符号化,然后用距离值对其进行标注。
以下是点属性表的一部分,显示有与最近河流要素的距离:
点距离可计算一个要素类中各点与另一要素类中指定搜索半径内所有点的距离。此表可用于统计分析或连接到其中一个要素类,从而显示出与其他要素类中各点的距离。
使用点距离工具可查看两组事物间的邻近性关系。例如,您可能需要比较表示多种类型的企业(如影剧院、快餐店、工程公司和五金商店)的一组点与表示社区问题(乱丢废弃物、打碎窗玻璃、乱涂乱画)所在位置的另一组点之间的距离,可将搜索限制为一英里来查找局部关系。将生成的表连接到企业和社区问题属性表,然后计算出企业类型与社区问题之间距离的汇总统计数字。您可能会发现一些数字对比其他数字对具有更紧密相关性,可将该结果用于安排公用垃圾桶或巡警。
使用点距离还可查找在测试井(已判断为存在污染)指定距离范围内所有水井的距离及与这些水井的相对方位。
以下为点距离分析的示例。一个要素类中的每个点均指定了 ID、到另一要素类中最近点的距离及与这些点的相对方位。
以下是点距离表,它与一组点连接,用于选择最接近于点 55 的点。
近邻分析和点距离均会将距离信息返回为数值属性,不同的是,对于近邻分析,将返回到输入点要素属性表中,而对于点距离,则返回到包含“输入要素”及“邻近要素”要素 ID 的独立表中。
通过创建泰森多边形创建的多边形要素可对可用空间进行划分并将其分配给最近的点要素。该结果与基于栅格的欧氏分配工具生成的结果类似。泰森多边形有时会用于替代插值操作,以便将一组样本测量值概化到最接近他们的区域。泰森多边形有时也称作“邻近”多边形。这些多边形可看作为点建立聚集区域的模型,因为任意给定多边形内部的区域比其他任何区域都要接近该多边形的点。
以下是一组点的泰森多边形示例。
使用泰森多边形可将取自一组气候测量仪的测量值概化到周围区域,还可为一组店铺快速建立服务区模型。
图层和表视图工具
通过按位置选择图层可在 ArcMap 中找出某图层中与另一要素类或图层中要素的距离在指定范围内的要素(或者要素之间共享其他某种空间关系),从而更改选中要素的集合。与其他矢量工具不同,按位置选择并不会创建新的要素或属性。按位置选择图层工具位于“图层和表视图”工具集中,您也可以在 ArcMap 的“选择”菜单中找到“按位置选择”。
以下是选中与其他点的距离在给定范围内的点的示例(所示缓冲区仅作表示距离之用)。
使用按位置选择可找出某城镇内的所有公路或距火灾现场五千米以内的所有房屋。
网络距离工具
某些距离分析需要将测量值限制为道路、河流或其他线性网络。ArcGIS Network Analyst 用于在交通路线网络中查找到达某位置的最短路径、查找距离给定点最近的点、或在交通网中构建服务区(沿所有可用路径到达某点的距离均相等的区域)。
以下是某道路网络中三个点的路径解决方案示例。通过最近设施点解决方案可在网络中查找最接近(按照路径距离计算)起始点的位置。
以下是某网络中行程时间服务区的示例:
Network Analyst 将测量各段的累加长度,因为在查找最短路径时,它会对位置间各备选路径进行比较。查找服务区时,Network Analyst 将找出每个可用网络路段上的最大距离,这些路径的终点将成为服务区面边缘上的点。
Network Analyst 还可计算出起始-目的地矩阵,它们是包含一组点(起始点)与另一组点(目的地)间距离的表。
基于栅格的距离工具
ArcGIS Spatial Analyst 扩展模块提供了几组可用于邻域分析的工具。距离工具集中包含的工具用于创建可显示出每个像元到一组要素距离的栅格,还可用于将每个像元分配到最近的要素。距离工具也可以计算出跨越两位置间某表面或廊道的最短路径,从而使两组成本降到最小。距离面通常用作叠加分析的输入;例如,在栖息地适宜性模型中,与河流的距离对于亲水的物种可能是一个重要因素,而对于胆小的物种,与道路的距离是一个重要因素。
欧氏距离
欧氏距离属于直线距离或者“沿直线”测量的距离。对于一组给定的输入要素,将为每一个像元计算与某要素的最小距离。
以下是欧氏距离工具输出的一个示例,输出栅格中的每个像元都带有到最近河流要素的距离值:
您可将“欧氏距离”作为森林火灾模型的一部分,其中给定像元起火的概率是到当前燃烧像元的距离的函数。
欧氏分配
“欧氏分配”可对某区域进行划分,然后将每个像元分配到最接近的输入要素。这与根据矢量数据创建泰森多边形类似。欧氏分配工具可创建多边形栅格区域,以便显示最接近给定点的位置。如果为分配操作指定了最大距离,则结果将与为源要素建立缓冲区类似。
以下是欧氏分配分析的示例,其中输出栅格的每个像元均指定了最近点要素的 ID:
使用欧氏分配可为一组居住点建立重要区域或资源汇集区域的模型。
以下是欧氏分配分析的示例,其中与某点的距离在指定范围内的每个像元均指定了最近点要素的 ID:
对于每个像元,颜色可指示出最近点的值;在第二个图中,使用最大距离可将分配操作限制在类似缓冲区的区域内。可将欧氏分配与最大距离结合使用,从而在河流周围创建出一组缓冲区。
欧氏方向
使用“欧氏方向”可为每个像元指定一个表示最近输入要素方向的值。
以下是欧氏方向工具输出的一个示例,输出栅格中的每个像元都带有到最近点要素的方向值:
您可以通过欧氏方向回答这样一个问题:对于任意给定像元,选择哪条路才能到达最近的商店?
成本距离
与欧氏距离工具不同,成本距离可以根据成本(例如,能量消耗、实施难度或安全性)进行衡量,并且行程成本可能随地形、地面覆盖物或其他因素而变化。
给定一组点,便可通过欧氏分配工具对点间的区域进行划分,这样,输出的每个区域均将包含最接近某给定点的所有区域。但是,如果点间行程成本因点间区域的某些特征而有所变化,则从行程成本的角度来看,给定的位置可能更接近其他某点。
以下是使用成本分配工具的一个示例,其中行程成本随土地覆被类型的不同而增加。暗色区域表示难以穿越的沼泽,而浅色区域则表示较容易穿越的草地。
将欧氏分配的结果与成本分配的结果进行比较。
在某种程度上,这种方式比使用直线处理距离更复杂,但为跨越不均匀表面的运动建立模型时却非常有用。
路径距离
路径距离工具是成本距离工具的扩展,在分析中它不仅可以使用成本栅格,还会将越过山体时的额外行进距离、上下各山坡的成本以及水平方向某个额外成本因素考虑在内。
例如,某狭长山谷中的某两个位置之间的距离可能比其中一个位置与下个山谷中某一类似位置之间的距离大,但山谷内地域穿越总成本可能要比越过山体的总成本要低很多。影响此总成本的因素有多种,例如:
- 穿过山腰上的灌木丛要比穿过山谷中的草地更困难。
- 在山腰上逆风而行要难于顺风而行,而在山谷中无风而行则会更加容易。
- 由于越过山体会产生上下移动的额外行程,所以该路径要长于路径两端点间的线性距离。
- 沿等值线或斜穿陡坡的路径可能并没有直接上下坡的路径困难。
使用路径距离工具可通过将行程成本分成可以分别进行指定的若干分量来为此类复杂问题建立模型。其中包括成本栅格(如用于“成本”工具的成本栅格)、用于计算行程表面长度的高程栅格、水平因子栅格(如风向)(可选)以及垂直因子栅格(如高程栅格)(可选)。此外,对于因子栅格,您可以控制行进方向如何影响水平因子和垂直因子的成本。
以下是路径距离分配工具的一个示例,其中影响成本的因素存在若干个。
下图将“欧氏分配”的结果与“路径距离分配”分析进行了比较:
廊道分析工具可通过叠加两个不同的成本距离面来查找多个位置之间行程成本最小的像元。例如,您可使用此工具识别某动物从公园的某位置移动到另一位置时可能穿过的区域。
以下是可能影响穿越某地形成本的两组因素示例。在本例中,一组为土地覆被类型,另一组为坡度。
对于每种因素,成本距离工具均可用于查找一个或多个位置的行程成本。
廊道分析工具将合并两种因素的成本距离分析结果。这些结果将被重新分类,以便查找合并后成本可维持在某一水平以下的区域。这些区域可能成为该动物将要穿越的更具有吸引力的廊道。
ArcGIS 3D Analyst 工具箱功能性表面工具集中的表面长度工具可根据给定地形表面计算输入线要素的长度。该长度明显长于山丘或山地中要素的二维或平面长度。正如两点间的曲线路径长于直线路径一样,穿越山丘和山谷的路径要长于完全水平的路径。表面长度信息将添加到输入线要素的属性表。
以下是对比线要素的平面长度与其在崎岖地形中的表面长度的示例。
邻域分析工具
矢量距离工具
工具 | 位置 | 用途 |
---|---|---|
创建要素边界距离输入要素指定距离长度的新要素数据 | ||
向点要素类添加属性字段,其中包括距离、要素标识符、角度和最近点或线要素的坐标 | ||
从目标要素类中选出位于输入要素指定距离范围内的要素(或通过其他空间关系进行选择) | ||
为一组输入要素创建最接近每个要素的区域的多边形 | ||
设置分析参数以便查找网络中与另一位置或一组位置最接近的一个位置或一组位置 | ||
设置查找多边形的分析参数,以便定义网络中在所有方向上与一个或多个位置的距离均在给定范围内的区域 | ||
设置分析参数以便在一组点中查找最短路径 | ||
设置分析参数以便创建两组点的网络距离矩阵 |
栅格距离工具
在 ArcToolbox 中,栅格距离工具位于“距离”工具集(在“Spatial Analyst 工具”工具箱内)和“功能性表面”工具集(在 3D Analyst 工具箱内)中。
工具 | 位置 | 用途 |
---|---|---|
计算每个像元到最近源的距离 | ||
将最近源的标识符指定给对应的像元。 | ||
为每个像元计算最近源的方向。 | ||
计算每个像元到最近源的距离,从而使成本面中指定的成本降至最低。 | ||
将最近源的标识符指定给对应的各像元,从而使成本面中指定的成本降至最低。 | ||
计算从源到目标的最小成本路径,从而使成本面中指定的成本降至最低。 | ||
为每个像元识别出位于源到目标最小成本路径上的临近像元,从而使成本面中指定的成本降至最低。 | ||
计算每个像元到最近源的距离,从而使成本面中指定的水平成本降至最低,并使通过地形栅格与垂直成本参数指定的表面距离地形成本以及垂直行进难度降至最低。 | ||
将最近源的标识符指定给对应的各像元,从而使成本面中指定的水平成本降至最低,并使通过地形栅格与垂直成本参数指定的表面距离地形成本以及垂直行进难度降至最低。 | ||
为每个像元识别出位于源到目标最小成本路径上的临近像元,从而使成本面中指定的水平成本降至最低,并使通过地形栅格与垂直成本参数指定的表面距离地形成本以及垂直行进难度降至最低。 | ||
计算两个输入成本距离栅格的累积成本总和。低于给定阈值的像元将在两个成本均最小的源之间定义一个区域(廊道)。 | ||
计算横越表面的线要素的长度(考虑地形)。 |