R语言 两点之间的地理空间距离
地理空间距离,也被称为空间中任何两点之间的地理距离,是指沿地球表面测量的距离。这个距离是以两点的纬度和经度位置来衡量的。有不同的方面和公式来计算这个距离。
在R编程语言中,有一个外部软件包 “geosphere “可以用来计算角度(经度/纬度)位置的距离和各自的量度。这个包实现了计算地理坐标位置的距离、方向、面积等各个方面的方法。该软件包可以通过以下命令安装到工作空间中。
install.packages(“geosphere”)
考虑到地球的形状、假设的地球半径等,各点之间有不同类型的距离。为每种距离计算方法指定的点可以是一个包含各自X和Y坐标的两个数字的向量,一个由两列组成的矩阵,第一列是经度,其次是纬度。在两点相等的情况下,就所有实际目的而言,距离被认为是0。
- Haversine距离 – 这个最短距离是基于地球是球形的假设,忽略了椭圆体的影响。
语法
distHaversine(pt1, pt2, r=6378137)
参数:
- pt1和pt2 – 点的经度/纬度。
- r – 地球的半径;默认=6378137米
例子
输出
- 地理距离 – 对地球椭圆表面上两点之间最短距离的高度精确估计。该软件包的distm()方法用于计算一组(一对)点的距离矩阵。
语法
distm(xpos, ypos, fun=distGeo)
参数:
- xpos – 点的经度/纬度。
- ypos – 默认值:与x相同,如果缺少的话。
- fun – 距离计算函数(例如distCosine或distGeo)
例子
输出
- 余弦距离 – 这个最短距离是基于地球是球形的假设,忽略了椭圆体的影响。
语法
distCosine(pt1, pt2, r=6378137)
参数:
- pt1和pt2 – 点的经度/纬度。
- r – 地球的半径;默认=6378137米
-
Meeus距离 是椭圆体上两点之间的最短距离(”大地测量”)。
例子
输出