问题标签 [geosphere]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
14198 浏览

r - R使用包geosphere计算地球上2点之间的距离

我的问题是基于这个问题。使用它我在下面的代码中编写了第一组坐标用于 LGA 机场 NY,而第二组坐标用于 EWR 机场 NY。我得到答案 33713。是英里还是公里?一个快速的谷歌检查说距离应该是 33 英里(但它不是直线/弧线距离:(它是公路距离)。包装文档说答案以米为单位。请澄清。这是在给定 2 个坐标的情况下找到地球上距离的好方法?我怎样才能得到英里的答案?

0 投票
2 回答
873 浏览

r - R - 创建大圆时 if (antipodal(p1, p2)) 出错 - library(geosphere)

我在尝试在http://flowingdata.com/2011/05/11/how-to-map-connections-with-great-circles/上重现大圆连接图时遇到问题。运行该函数的循环时遇到以下错误:

顺便说一句,该函数在循环之外运行正常,但我看不出循环设置有什么问题导致问题。

此错误似乎是尝试以这种方式显示数据时遇到的常见错误,并且与传递给对映体的 NULL 值有关。我很难找到那些可能在我的数据中。我已经删除了相同/重叠的“到”和“从”目的地,这可能导致为大圆绘制 0 距离。据报道,这与 SO 上的类似错误有关:

Great Circles 代码中的对映错误

原始代码使用 SQL 查询来组装 gcIntermediate 的表,但如果有人想运行代码并亲自查看,我已经将它们写成表。

数据文件可以在 GIT 上找到。

dfCord.csv fsub.csv

https://github.com/GaryPate/R-Greatcircles/commit/e1149ccdb7ab13b89f5f11e8ebad66f26ec3e39b

非常感谢!

0 投票
1 回答
1546 浏览

r - R中地球上两地之间的距离

我正在尝试使用 R 计算地球上两点之间的距离。

在谷歌地图中输入纬度/经度(测量距离特征)。我得到总距离:1.88 公里(1.17 英里),但这不是我使用上面的代码得到的。我正在努力寻找可以帮助我的人。

0 投票
4 回答
2719 浏览

r - 在 r 中查找特定纬度/经度距离内的位置

我有一个网格数据集,数据可在以下位置获得:

我想找到该位置 500 公里范围内的所有数据点:

我的目标是在 R 中使用 geosphere 包,但是我目前编写的方法似乎不是很有效:

在这里,我循环遍历数据中的每个网格,并查找距离是否小于 500 公里。然后我用 TRUE 或 FALSE 存储一个变量,然后我可以用它来平均数据(其他变量)。通过这种方法,我想要一个 TRUE 或 FALSE 的矩阵,用于距离所示纬度和经度 500 公里以内的位置。有没有更有效的方法来做到这一点?

0 投票
1 回答
112 浏览

r - R - 一段时间后计算地理位置

我有两个点 A 和 B,它们各自的纬度和经度。我也有时间从 A 点到 B 点。假设需要 1 小时,从 A 假设司机直接到 B 点并在旅途中保持相同的速度。0.6 小时后,我想知道司机的当前位置(按经纬度)。包中是否有任何功能geosphere或允许我这样做的任何其他包?谢谢

0 投票
1 回答
7627 浏览

r - geosphere distHaversine() & dplyr - 错误向量长度错误,应该是 2

我无法解决错误:尝试计算两点(跑道入口/终点)之间的(跑道长度)距离时,“向量长度错误,应为 2”。更糟糕的是,我无法理解像这里这样的答案R error: Wrong length for a vector, should be 2并将它们应用于我的案例。(跑道末端)位置的简化数据框如下所示:

使用 geosphere 中的 distHaversine() 函数,我尝试计算距离:

我不确定我在这里做错了什么。如果我拉出 LON LAT 位置,它是一个具有正确长度的数值向量。

0 投票
1 回答
1681 浏览

r - 使用 R geosphere 包计算多边形面积

我在使用 R 中的 areaPolygon 函数时遇到问题。有时它似乎会产生正确的结果,而有时结果似乎相差了几个数量级。

例如,我有一个包含这些点的多边形:

并将它们组合成一个数据框

然后我尝试获取该区域:

结果为 326928.8 m^2。

我期待在 1000 m^2 范围内有更多的东西。

奇怪的是,这似乎对我正在计算的大约一半的单元格工作得相当好,但不是另一半。

一个类似的 StackOverflow 问题指出了奇怪的小值,因为这些点的顺序不正确。但是,当我绘制时,例如

多边形似乎正确绘制。

有人知道这里可能有什么问题吗?谢谢!

0 投票
0 回答
165 浏览

r - 在 R 中使用 geosphere 包时的维数不正确

试图计算两个数据集中纬度/经度点之间的距离矩阵......这是我的 R 脚本代码,然后是错误消息。关于我哪里出错的任何想法?

temp[apply(D, 1, which.min), ] 中的错误:维数不正确

0 投票
1 回答
633 浏览

r - distVincentyEllipsoid() 产生 NA 值(geosphere 包)

我正在使用geosphere包中的函数distVincentyEllipsoid()来计算世界港口之间的距离。此函数将两个地方的经度和纬度作为输入,并以米为单位给出距离作为输出。它似乎总体上运行良好,但在某些情况下,它一直在无缘无故地给我 NA。我想知道是否有人知道错误(没有在线文档我可以找到解决此问题的文档),或者可能会指出我做错了什么。奇怪的是,它似乎只影响特定的配对——例如。f(a,b) 和 f(b,a) 会给出 NA,但 f(a,c) 和 f(b,c) 不会。

例如。新西兰旺格雷 (Lon:174.35 Lat:-35.76) 到直布罗陀直布罗陀 (Lon: -5.35 Lat:36.13):

distVincentyEllipsoid(c(174.35,-35.76),c(-5.35,36.13))

...但:

马耳他瓦莱塔(经度:14.51 纬度:35.89)至直布罗陀直布罗陀(经度:-5.35 纬度:36.13):

distVincentyEllipsoid(c(14.51,35.89),c(-5.35,36.13))

...和:

新西兰旺格雷 (Lon:174.35 Lat:-35.76) 至马耳他瓦莱塔 (Lon:14.51 Lat:35.89):

distVincentyEllipsoid(c(174.35,-35.76),c(14.51,35.89))

(根据谷歌地图,这两个输出都是正确的 - 请注意这些值以米为单位。)

任何帮助将不胜感激。

编辑:问题已解决——Vincenty 的距离方法对近对映点失败。

0 投票
1 回答
521 浏览

r - 使用 geosphere 包有效计算距离

我有以下格式的数据(行数:~ 100 万)

我已经使用了上面的代码,因为包中apply的函数没有向量化。但是,上面的代码需要很多时间。distmgeosphereapply

我也试过:

还有什么可以更好更快地计算距离的方法?