问题标签 [haversine]

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 投票
2 回答
64 浏览

mysql - MySQL CREATE FUNCTION 在 END IF 上中断

我正在尝试创建一个用于计算两个纬度/经度点之间距离的函数;但是,CREATE FUNCTIONEND IF;在函数体的部分中断(通过删除IF/ELSE/END块确认)。

有任何想法吗?我想保留 M / KM 的差异,以节省在应用程序中添加计算的时间。

0 投票
1 回答
1005 浏览

javascript - 淘汰赛 + 大数据集性能

我有一个非常大的纬度/经度数据集,我希望能够过滤和显示客户端。我已经尽我所能进行了剖析和优化,但是还有什么可以提高性能的吗?

  • 精度需要达到英里/公里级别。
  • 我需要 IE 7/8/9/10 支持,尽管我接受我们越往下走,性能可能会变得更糟。
  • 我没有绝对依赖任何图书馆,无论是最适合这项工作的。

大致

  • 铬:1.1s
  • 火狐:0.9s
  • IE10:5.1s
  • IE9:3s

http://jsfiddle.net/hRvKz/

0 投票
2 回答
193 浏览

database - Find all lat/long pairs within a given distance from a lat/long pair

I have a database with millions of lat/long pairs. I would like to implement a function to gather all lat/long pairs within a specified distance from a given lat/long pair. Is there a better way to do this than by iterating over each pair in the database and computing the distance between that pair and the given pair? I'd like to avoid brute force if I can avoid doing so!

I would like to add that I will never be searching for lat/long pairs greater than 1 mile from the given lat/long pair.

0 投票
2 回答
819 浏览

php - 将 Haversine 公式与 PHP PDO 结合

最初使用以下查询:

当我在控制台中运行它(用实际数字替换我的 PDO 占位符(:lat,:lng 等))时,这非常有用,但是一旦我通过 PHP-PDO 运行它,即:

它有问题并且没有返回任何内容。
问题是 PDO 处理 HAVING 的方式与原始查询不同,显然

没关系,我重写了替换 HAVING 的查询,新查询如下所示:

这会导致 PDO 出现以下错误:

带有消息“SQLSTATE [42000] 的异常“PDOException”:语法错误或访问冲突:1248 每个派生表都必须在 /home/bessr/local_html/site.com/pieces/functions/geo.functions.php 中有自己的别名: 47 堆栈跟踪:#0 /home/bessr/local_html/site.com/pieces/functions/geo.functions.php(47): PDOStatement->execute() #1 {main}

好的,所以我给它一个别名,我修改后的查询如下所示:

即使我添加了别名,我仍然遇到同样的错误。我不确定我到底哪里出错了。任何帮助表示赞赏。

0 投票
1 回答
731 浏览

mysql - mysql 27 second query (haversine vs geomfromtext)... must be a better way

I've shortened the tables to only show the relevant columns for this query. It requires two tables and the queries are taking a long time and we've not even rolled into the 4+ million queries and a log file that is 30+ million records or a user table with 1+ million records. It has me rethinking this... I need some guidance and suggestions:

Here's the table:

Here's the log table.

Some sample data for the log file

Here's the query.

Here's another query. This one is slow.

One question would be: Is there a radius/circle search that uses GeomFromText/POINT field vs the lat/lon search?

Another question: Is there a better way to check the some_log table for an entry where this $userid already has a $trackid?

0 投票
3 回答
7794 浏览

python - 如何过滤具有一定半径内的经纬度坐标的django模型

我有以下模型。

如果我当前的纬度和经度是:

我做了一些研究并遇到了计算两个位置坐标之间距离的Haversine Equation 。下面是我找到的等式:

我想返回 10 公里半径内的所有 Location 对象,我该如何过滤它,使其只返回 10 公里半径内的所有 Location 对象?

无论如何我可以在过滤中实现Haversine方程,以便它只返回10公里半径内的位置对象?

我正在寻找一个非常详细的答案。感谢帮助。

0 投票
1 回答
273 浏览

mysql - 在mysql php的Haversine公式中使用可拖动标记位置

我有一个使用 PHP 文件存储 lat-lngs 的 MySQL 数据库。标记根据半径和坐标参数(2kmmyLatmyLng - 工作正常)基于半正弦公式显示。我看过关于将用户地理编码的 lat-lngs 传递给公式以显示标记的帖子。有没有办法将可拖动标记的 lat-lng 位置传递给 hasrsine 公式以显示标记?可以在拖动标记后通过单击搜索按钮发送 lat-lng。

这是一个示例,所做的选择基于选择的 lat-lng,但标记是可拖动的,我希望将可拖动标记连接到 php 代码。

MySQL 选择和可拖动标记

先感谢您

0 投票
2 回答
1984 浏览

javascript - 在带有变量的javascript中使用haversine公式

嗨,我一直在努力使用正弦公式来获取用户当前位置和数组中对象之间的距离,我已经找到了这个问题的一个很好的答案,但是当我尝试使用变量而不是实际坐标时,公式会起作用,希望有人会知道我哪里出错了

这是让我走到这一步的问题,谢谢Talkol的回答

在 Javascript 中使用 Haversine 公式

这就是我到目前为止所拥有的

0 投票
2 回答
7590 浏览

python - 从公里 (km) 转换为十进制度

用来scipy.KDTree做一些快速的最近邻搜索。我KDTree.query_ball_point(pnt, r=some_distance)用来做搜索。

因为我的点是纬度,所以要搜索的半径值(some_distance)必须是十进制度(我相信)。如果我想让用户可以访问它,我希望以公里、米、英里等为单位给出距离。

使用 python 库将距离以千米为单位转换为十进制度值的最佳方法是什么?我正在使用 numpy、scipy 并使用 PySAL 玩了一下。

帮助表示赞赏,路易斯

0 投票
1 回答
589 浏览

r - 适配最近邻 R 代码以识别每个池塘 1 公里范围内的池塘位置

我有一个 csv 文件,其中包含 17,305 个池塘的池塘区域和纬度和经度坐标。对于每个池塘,我想确定其 1 公里范围内所有池塘的坐标。我是 R 新手,所以我想我可以调整一些最近邻代码。我在 Crawley 的 The R Book 中找到了这个循环:

我对其进行了调整并在化石中使用了 deg.dist 函数,该函数使用 Haversine 公式而不是使用毕达哥拉斯。

这似乎给了我最后一个池塘 1 公里内所有池塘的身份。但是尽我所能,我无法弄清楚如何为所有池塘找到答案。如果有人能给我一个解决方案并解释它为什么起作用,我将不胜感激。

谢谢,

艾丹