R - 计算沿折线路径的两点之间的距离

3
在R中,我已经将一个不是直的折线形状文件(表示一条弯曲的州际公路)导入到环境中。我已经读取了一个包含点(纬度/经度以十进制度数表示)的.csv文件到环境中。所有这些点都位于折线上。
如果我选取两个随机点,我可以使用大圆距离计算方法计算它们之间的“直线距离”。但是需要的是沿着折线行进的距离。请参考下面的图片:

https://istack.dev59.com/zhorb.webp

有人知道一个能够计算沿着折线路径连接的两个经纬度点之间距离的 R 包吗?


你的问题太宽泛了。请编辑问题,将其限制在一个具体的问题上,并提供足够的细节以确定一个充分的答案。避免一次性问多个不同的问题。请参阅[提问]页面以获取帮助澄清此问题。 - Rich Scriven
1
我已完全重新撰写了我的问题。 - JBS
1个回答

1

PBSmapping有一个calcLength函数,可以直接计算折线或多边形(在其术语中称为PolySet)的长度。如果您的shapefile文件是ESRI格式,该软件包也可以导入该格式。

简单折线的示例:

line = read.table(text = "X, Y, POS, PID
37.772, -122.214, 1, 1
21.291, -157.821, 2, 1
-18.142, 178.431, 3, 1
-27.467, 153.027, 4, 1", header = TRUE, sep = ",")

library(PBSmapping)
pline = as.PolySet(line, projection = 1)

calcLength(pline)
  PID   length
1   1 404.8539 

plotLines(pline)

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接