问题标签 [great-circle]

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 回答
118 浏览

r - 如何使用带有R的大圆圈和循环连接节点子集

我有以下数据集。总而言之,是具有 Id、经度和纬度的城市列表。它们也分为项目,也可以是中心节点 (1) 或径向节点 (0)。这是它的结构:

这是第一行:

如您所见,每个项目的第一个城市是一个中心节点。因此,我需要为每个项目使用 GREAT CIRCLES 将第一个中心节点与其他城市连接起来。我在以下代码行中完成了第一个项目。但我需要的是一种循环,为每个项目重复这个过程

在此先感谢并为这篇长篇文章感到抱歉。拉米罗

0 投票
0 回答
438 浏览

r - 使用 R data.table 计算大数据集的大圆距离

我有一个相当大的地理参考数据集。大约有 4900 万条记录。使用 data.table 包,我已经能够对其进行子集化(最初是 1 亿条记录)并进行一些简单的计算,例如每个用户的地理坐标的平均中心(以度为单位)。

唯一用户是 214,600,我需要计算每个唯一用户从每条记录的每个地理坐标到这些地理坐标的平均中心的距离(使用大圆公式,请参阅我的示例代码)。这意味着我需要使用列 V6 和 V7(分别为经度和纬度)来计算大圆距离。V4 是 userID,V3 是 userImageID,V8(有 16 的列)是坐标的精度。V5 是时间字段,我已经按升序排序(顺序)。

我的问题是我不能让代码只针对专门对应于每个用户的坐标进行迭代,并且我最终会耗尽内存,因为第一条记录贯穿其他 4800 万条记录,依此类推。

我曾尝试使用我自己的公式来计算大圆距离,还尝试使用化石和地球圈包中的公式,但没有结果。

这或多或少是我的表的样子(我只调用我正在使用的列)。我们在这里看到第一个用户的数据,他有 4 个地理标记图像。

我的代码:

非常感谢您的回答!

0 投票
3 回答
855 浏览

c# - 如何正确测试大圆距离计算之类的东西?

测试不等于精确值的最佳方法是什么,例如大圆计算:

目前我的测试是这样的:

但这似乎是错误的,我首先找到答案然后对其进行测试。应该如何测试这些方法?我是否应该通过算法/计算并尝试找出它是如何工作的,以便我可以让它产生精确的值?

澄清: 我的问题是这是对此类事物进行测试的正确方法,即。我的测试应该绑定到实际的实现(因为如您所见,我使用的是细粒度的期望值)还是应该以某种方式更通用?

0 投票
1 回答
1930 浏览

python - python - 两个大圆的交点(纬度/经度)

我正在尝试计算两个大圆之间的交点(纬度/经度,以度为单位)(因此,我输入了两个纬度/经度对,每个大圆一个,代表它的起点和终点,并且代码应该返回纬度/经度交叉点)。我按照其他帖子中的步骤进行操作,例如thisthis。我在下面发布我的代码:它为每个大圆对返回 2 个交点,因为根据定义,任何两个不同的大圆都将在地球上的两个地方相交。不幸的是,它返回了错误的结果(只是通过在谷歌地球上绘制所有点进行了多次测试)。

这将返回(34.314378256910636, -164.51906362183226, -34.314378256910636, 15.480936378167755),但它应该(34.280552, -105.549375)为其中一个交点返回值。

关于我做错了什么的任何想法?非常感谢您的帮助!


编辑:为了将来参考(以防有人遇到同样的问题),我按照Ruei-Min Lin 的建议修复了它,因此将第 44 行和第 45 行替换为:

0 投票
0 回答
1259 浏览

python - Python中两点之间的纬度经度距离为大圆和恒向线

鉴于我的代码:

我不确定这是否是一个特定于数学的问题,而不是 python。这是我的剪贴簿代码,用于根据纬度/经度坐标计算两个给定点之间的距离。

我的代码似乎可以工作,但结果大约是 5nm(海里 1nm = 1.8km)太高了,因为我根据我的物理图进行测量,结果约为 12nm(我的代码显示为 17.3nm)。

可能是什么问题?我使用了错误的地球半径吗?我是否必须关注我的物理地图的半径投影类型?

我现在,有一些图书馆在做这些事情,而且他们做得更好;)但我想在我扔掉它并使用图书馆之前知道我的代码有什么问题。

0 投票
1 回答
496 浏览

mysql - MySQL 半径搜索

我正在使用半径搜索制作应用程序,这是我从中学到的示例

https://developers.google.com/maps/articles/phpsqlsearch_v3#findnearsql

就我而言

我愿意

SELECT (3959 * acos(cos(弧度(-37.814107)) * cos(弧度(lat)) * cos(弧度(lng) - 弧度(144.96327999999994)) + sin(弧度(-37.814107)) * sin(弧度(lat) )))) 作为距离;

当 lat = -37.8141070000, lng = 144.9632800000

SELECT (3959 * acos(cos(弧度(-37.814107)) * cos(弧度(-37.8141070000)) * cos(弧度(144.9632800000) - 弧度(144.96327999999994)) + sin(弧度(-37.814107)) * sin(弧度( -37.8141070000)))) AS 距离;

MySQL将距离输出为NULL,为什么?我做错什么了吗?

我该如何解决?对不起,我真的不擅长数学。

0 投票
1 回答
274 浏览

r - 在 R Shiny 中使用 gcIntermediate 的问题?

我一直在使用 R Shiny 开发一个应用程序,除了一小部分我在 Shiny 服务器中调用 gcIntermediate 之外,一切正常。我想知道这是否是一个典型的问题,或者我只是在做一些可怕的错误,我很遗憾地没有注意到。我有一组大约 30'000 个城市、它们的国家、坐标、邮政编码等。在这个应用程序的一部分中,我想用 R 绘制连接世界地图上 A 点和 B 点的大圆。draw_line但是,由于在 Shiny 环境中运行时的未定义值,我没有成功。如果我给它提供值并在 Shiny 之外运行它,它确实工作得很好。因此,我被困住了。

这是用户界面

这是服务器:

错误总是发生在draw_line我调用的部分gcIntermediate()。我尝试了许多不同的故障排除方法,但我想出的只是该gcIntermediate()功能无法与 Shiny 一起使用。如果是这种情况,有谁知道如何解决它或可能的解决方法?

奖励:我希望我的情节在显示时放大路线,但是这样做时地图会变形,所以我坚持使用世界观。有谁知道如何实现这一目标?

0 投票
1 回答
32 浏览

google-app-engine - App Engine 地理搜索对大圈子的准确性?

我正在使用 App Engine Search 将结果限制在定义的圈子内。

对于 10、100 和 1,000 米的半径,我得到了正确的结果。但是对于说 400,000(即 400 公里)的半径,则返回定义圆之外的结果。

有谁知道这是这个平台的限制?我很难相信大圆没有被考虑在内。

0 投票
1 回答
76 浏览

distance - pgrouting 使用什么度量来计算距离?

我正在使用pgrouting比较点之间的距离,并将其与 Vincenty 和使用geopy计算的大圆距离进行比较,但我发现两点之间的最小距离受pgrouting距离的限制。这是没有意义的,因为两点之间的“直线”(如乌鸦飞过)距离应该是最小距离。在此处输入图像描述

pgrouting 如何计算两点之间的“成本”?

我确信我可以通过挖掘源代码找到这个,但我不确定如何找到我的方式,并且询问可能会更快......

0 投票
1 回答
57 浏览

javascript - 限制大圈

我需要限制大圆问题的半径。圆圈将延伸,直到它碰到另一个项目。

我需要它将圆圈的范围限制为 5 英里

这是我的代码