问题标签 [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 投票
0 回答
254 浏览

r - R中地理空间点的水平和垂直距离?

我的问题是基于这个问题。我希望在 2个地理空间点x和. yp1p2在此处输入图像描述

我应该M通过以下方式找到坐标:

然后计算xy

或者有一种简单的方法可以做到这一点?另外,我怎么能定义一个方向?想象一下,我们p3在 的左侧p1,然后新x的方向相反,distm我无法抓住它。

0 投票
4 回答
2659 浏览

r - R:计算从一点到另一点的距离(以英里为单位)

我有以下数据框:

我想做的是计算 d2 中的 tas 和 d1 中的标题之间的距离(以英里为单位)。因此,在 d2 中,tas1 的坐标为 54.6 lat 和 1.2 long,并且在“Base”列中有“base1”。所以我想计算54.6lat乘1.2long和57.3lat和0.4lon之间的距离。

我尝试使用GeoDistanceInMetresMatrix下面详述的函数来执行此操作,但该函数并没有完全给我想要的结构。

下面的文章提供了有关 GeoDistanceInMetresMatrix 的一些信息

http://eurekastatistics.com/calculating-a-distance-matrix-for-geographic-points-using-r/

这就是我希望数据的样子:

我整个下午都在看这个并且不能完全正确所以任何帮助将不胜感激!

0 投票
4 回答
4676 浏览

r - R 测量距海岸线的距离

我有一组坐标:

我想知道坐标是落在陆地上、在海上还是在海岸线内 3 英里处。坐标应该落在英国的某个地方,所以我知道我需要绘制一个英国的形状文件并将点绘制在上面。

我只是不知道如何测量这些点是落在海中、陆地上还是距离海岸 2 英里。显然,我可以通过查看它们所在的地图来判断,但我想要在我的数据集中添加另一列,使其看起来像这样:

  • 请注意,d2 列“where”中的数据是说明性的,这些纬度/经度点可能都在陆地上或其他地方
0 投票
1 回答
35 浏览

r - 使用for循环估计r中一个参考列和几列之间的距离?

我有一个具有以下结构的数据框(df):

我正在尝试使用 distHaversine 将新列附加到我现有的数据框中,其中 Ref 和 1、Ref 和 2 等之间的距离。

这是我到目前为止工作的代码:

但是,我不断收到以下错误:

我将不胜感激任何帮助。谢谢你。

0 投票
2 回答
198 浏览

r - 根据 50 英里半径对位置进行分组

嗨,我有一个数据集,我正在尝试根据 50 英里半径获取组集群 ID。这是数据集的结构

我想创建一个组集群 ID,它基本上是对 50 英里半径范围内的位置进行分组。让我知道如何实现这一目标?非常感谢。下面是预期的输出。

0 投票
2 回答
954 浏览

r - 计算分组数据中点之间的欧几里得距离

在下面的数据中(包含在 中dput),我对三个人( )进行了重复观察(经纬度IndIDII)。请注意,每个人都有不同数量的位置。

我想计算每个人的连续点之间的欧几里得距离。我最初的想法是在dplyr使用中工作lead(),如下所示。该distm函数需要一个矩阵,我无法在dplyr. 是否可以生成并使用矩阵作为参数distm

或者,是否还有其他可能性...?提前谢谢了。

数据:

0 投票
1 回答
351 浏览

r - 将地址映射到最近的大都市区

我有一个数据集,我正在尝试将一组位置获取到其最近的大都市。我有数据集 1 (df1),其中包含经度和纬度的地址位置。我想将这些地址映射到半径 50 英里内的所有最近的大都市(在数据框 df2 中)。

我希望输出如下显示与此地址关联的所有 msa:

请让我知道如何实现这一目标。我尝试了以下方法:

0 投票
2 回答
547 浏览

r - 计算R中的大量排列

我在 R 中有 2 个大数据框,它们都有大约 100k 行,其中包含地理坐标列表(纬度/经度)。我希望遍历它们以获取项目之间的所有组合,然后对其应用函数。

因为组合的数量大约是 110 亿(11 x 1.000.000.000),所以我最初使用循环的想法不适用。

数据框类似于:

我希望输出看起来像:

stackoverflow 中的另一篇文章([a link] Calculating great-circle distance matrix)建议使用:

应用(A,1,FUN=函数(X)distHaversine(X,B))

但是,我怀疑创建的矩阵太大而无法完成计算。

关于如何有效解决这个问题的任何想法?请记住,我的目标是此后应用 Haversine 函数来计算点之间的距离。

谢谢J

0 投票
2 回答
1610 浏览

r - 如何使用 data.table 有效地计算一个数据集中的 GPS 点与另一个数据集中的 GPS 点之间的距离

我在 R 中面临编码(优化)问题。我有一个带有 GPS 坐标(经度、纬度、时间戳)的长数据集,并且对于每一行,我都需要检查该位置是否在公共汽车站附近。我有一个包含所有巴士站的 .csv 文件(在荷兰)。GPS 坐标文件有数百万个条目,但如有必要可以拆分。巴士站数据集的长度约为 5500 个条目。
使用这些页面上给出的代码和提示:

1)如何使用data.table有效地计算坐标对之间的距离:=

2)对空间数据使用简单的 for 循环

3)计算两个经纬度点之间的距离?(Haversine 公式)

4)从数百万个 GPS 坐标中确定 COUNTRY 的最快方法 [R]

我能够构建一个有效的代码,但是(太)慢了。我想知道是否有人可以帮助我更快地实现 data.table() 或者可以指出我的代码中的瓶颈在哪里?是 spDistsN1() 函数,还是 apply 和 melt() 函数的组合?我最喜欢 R,但对其他软件开放(只要它是开源的)。

由于隐私问题,我无法上传完整的数据集,但这是一个(小)可重复的示例,与真实数据的外观没有太大区别。

如果需要,请下载真实的公交车站数据,很难重现此随机样本。

我现在用来计算距离的代码。它有效,但速度很慢

0 投票
1 回答
472 浏览

r - GPX 文件中的点之间的距离变得太大

我想根据 GPS 轨迹分析行进距离但是当我计算距离时,它总是显得太大。

我使用 python 制作一个 csv 文件,其中包含轨道中所有点的纬度和经度,然后我使用 R 进行分析。数据框如下所示:

我可以在这里发布整个数据框以获得可重复性,它只有 59 行,但我不确定在这里发布大块数据的礼仪?让我知道如何最好地分享它。

lat.next 和 lon.next 只是下面一行的 lat 和 lon。dist_to_prev 使用 geosphere 中的 distm() 计算:

我以 Trailforks 的这条赛道为例,如果你看一下他们的赛道描述,它应该是 787m,而不是我得到的 1266m。这不是这条赛道独有的,而是我看过的所有赛道。当我这样做时,它们都会出现 30-50% 的时间太长。

可能的原因之一是纬度/经度只有 5 个小数位。csv 中有 6 个小数位,但当我在 Rstudio 中打开它时,我只能看到 5 个。我在想它只是格式化以使其更易于阅读,并且“整个”数字在那里但也许不是?纬度/经度的类型为:双精度。

为什么我的距离比我获得 gpx 文件的网站上显示的距离大得多?