R语言 余弦定律大圆圈距离

R语言 余弦定律大圆圈距离

它指出,球体表面两点之间的最短距离是沿着球体表面测量的(弧形距离),而不是通过球体内部的直线。该公式是在考虑到地球半径(6400Km)的基础上提出的,具体如下。

公式

余弦定律大圆圈距离在R

其中

  • r – 地球的半径(6400Km)。
  • l1, l2– 是代表纬度位置的度数
  • L1, L2 – 代表经度的位置。

在R编程中,大圆环距离可以用geosphere包中的distCosine()函数来计算。

在R语言中计算余弦大圆圈距离

安装并加载所需的软件包。

# Install geosphere package
install.packages("geosphere")
# Load the installed package]
library(geosphere)
R

使用distCosine()函数计算大圆圈距离。

语法: distCosine(p1, p2, r)

其中

  • p1 – 分别代表第一个点的经度和纬度的数字向量
  • p2 – 分别代表第二点的经度和纬度的数字向量
  • r – 地球的半径[默认设置为6378137米]

在这个方法中,我们将分别传递代表经度和纬度的点的向量,如下所示

例1 :

让我们考虑两点为 **P 1 (75.852, 20.345) **和 **P 2 (85.567, 25.798) **,然后用R计算它们之间的余弦极大距离。

great_dist <- geosphere::distCosine(c(75.852, 20.345),
                                    c(85.567, 25.798))
print(great_dist)
R

输出

1164870
R

例2 :

让我们考虑两点为 ** P1 (0,80 **)和 ** P2 (80,36) **,那么它们之间的余弦大距离用R可以计算如下。

great_dist <- geosphere::distCosine(c(0, 80),
                                    c(80, 36))
print(great_dist)
R

输出

5888463
R

另一种方法是传递分别代表各点的经纬度的矩阵,如下所示。

例1 :

让我们考虑两点为 ** P1 (75.852,20.345) **和 ** P2 (85.567,25.798) **,然后用方法2计算它们之间的余弦大距离。

# Creation of points(longitude, latitude) matrix
points <- matrix(c(75.852, 85.567,
                   20.345, 25.798),
                   nrow = 2)
# Calculation of Greatest Cosine Distance using R
great_dist <- geosphere::distCosine(points)
print(great_dist)
R

输出

1164870
R

例2 :

让我们考虑两点为 ** P1 (0,80 **)和 ** P2 (80,36) **,然后用方法2计算它们之间的余弦大距离。

# Creation of points(longitude, latitude) matrix
points <- matrix(c(0, 80,
                  80, 36),
                  nrow = 2)
# Calculation of Greatest Cosine Distance using R
great_dist <- geosphere::distCosine(points)
print(great_dist)
R

输出

5888463
R

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册