ArcGIS求取多个点距离线要素的最近距离以及距离倒数
本文介绍在ArcMap软件中,对于点要素中的每一个点,求取其距离最近的道路的距离、距离倒数的方法。
首先,看一下本文的需求。现在已知一个点要素,其中含有多个点,假设每一个点表示城市中的一家商店;同时,还已知一个线要素,其表示城市道路的路网。如下图所示。
我们希望对于每一个点,分别求取其到最近道路的距离,以及这个距离的倒数。这个最近距离,以及距离的倒数,是GIS研究、分析中常用的指标;其可以在ArcMap软件中方便地计算。
其中,依次选择“Toolboxes”→“System Toolboxes”→“Analysis Tools.tbx”→“Proximity”→“Near”工具,如下图所示。
随后,在弹出的“Near”工具窗口中,在第一个选项内选择自己的点要素,而在第二个选项中选择需要计算距离的对象,在我这里也就是表示路网的这个线要素。此外,需要在工具右下方选择计算距离所用的单位,我这里就以米为单位来计算了。如下图所示。
随后,执行上述工具即可。执行完毕后,需要找到这个点要素数据集,然后打开其属性表,如下图所示。
可以看到,在其属性表中会新增一列,也就是上图紫色框内的那一列。这一列数据,就是每一个点要素,距离其最近的道路的距离。
这里有一点需要注意,上述工具在选取距离单位时,所出现的选项可能是与点要素数据集的坐标系有关系的。例如,如果是地理坐标系,那距离应该就是只能用经纬度表示(我不太确定哈,因为我也没试);而如果是投影坐标系的话,那就是米、千米等这一类长度单位。但是我不太确定是否是这样,因为我写博客的时候直接用了做了投影之后的数据,所以出现了米、千米等单位;所以如果大家在实际操作时,发现不能选择某些单位,那就可以检查一下看看是不是数据坐标系的问题。
随后,通过上述方法我们计算得到了最近距离。如果还需要计算距离倒数的话,那就可以将属性表导出,随后在Excel中通过公式计算;如果数据量大的话,也可以通过代码来批量计算。
属性表导出也非常简单,直接选择“Toolboxes”→“System Toolboxes”→“Conversion Tools.tbx”→“Excel”→“Table To Excel”工具即可,如下图所示。
随后,在弹出的窗口中,选择对应的点要素,以及Excel文件的保存路径即可,如下图所示。
至此,大功告成。
欢迎关注:疯狂学习GIS