我有一个具有这样的结构的表:
table name: shop
id_shop int(10)
name varchar(200)
latitude double
longitude double
我想计算给定坐标与数据库中保存的坐标之间的距离。
我当前的查询:
SELECT *
FROM `shop` AS `s`
WHERE
(
( 6371
* ACOS(
SIN( RADIANS( latitude ) )
* SIN( RADIANS( 53.5353010379 ) )
+ COS( RADIANS( latitude ) )
* COS( RADIANS( 53.5353010379 ) )
* COS( RADIANS( 14.7984442616 ) - RADIANS( longitude ) )
)
)
<= 25
)
再加上一些JOIN LEFT
的数据。
有什么方法可以优化该查询?进行连接大约需要13毫秒。
我还需要在此处添加一些LIMIT
以及COUNT(*)
用于分页的商店总数。
这里有一些想法,根据您的实际情况,其中一些想法可能不适用。
问题内容: 我的桌子有经度和纬度 所以我想要的是我要从页面传递两个经度和纬度。如何使用存储过程查找最近的地方?我没有太多帮助,所以我必须在这里询问 尝试过使用这个 但是我必须将其与表值进行匹配,所以我该如何实现呢? 问题答案: 您可以在SQL中使用与上面显示的查询类似的查询,其中和是要搜索的变量值。该和是从你的表的列名。顺便说一句,这称为Haversine公式,该常数用于获取以KM为单位的距离,而
问题内容: 我很难缠一些三角学。我正在尝试根据起始纬度,对数,距离和方位来推论目标纬度和经度。 幸运的是,我找到了一个令人惊叹的网站,该网站准确地描述了我需要的功能:http : //www.movable- type.co.uk/scripts/latlong.html “给定目标点的距离并与起点保持距离”我尝试了java程序,但对我不起作用。我按照网站所述部署它。这是我的代码: 但它显示的输出
问题内容: 我有一张表,上面有: 城市纬度经度 而且我需要一个sql查询来知道所有城市都距离纽约100英里。 问题答案: 也许这对您有帮助:http : //www.scribd.com/doc/2569355/Geo-Distance-Search-with- MySQL 这是一个不错的介绍。或只是google for ,您会发现一些教程。 如果有可能并且想让它变得更简单,请直接使用支持距离查询
问题内容: 这个问题已经在这里有了答案 : 8年前关闭。 可能重复: MySQL纬度和经度表设置 我知道这个问题可能已经被问过很多遍了,我已经进行了很多研究,并且在某些具体问题上需要帮助。 假设我有一个表单,用户输入了经度和纬度,并且我有一个数据库,该数据库的表包含经度和纬度,我将如何在该表中搜索半径15英里以内的一个或多个点? 问题答案: 您可以使用公式来计算两点之间的距离。例如: 您还可以执行
本文向大家介绍C#通过经纬度计算2个点之间距离的实现代码,包括了C#通过经纬度计算2个点之间距离的实现代码的使用技巧和注意事项,需要的朋友参考一下 根据两点经纬度计算距离 这些经纬线是怎样定出来的呢?地球是在不停地绕地轴旋转(地轴是一根通过地球南北两极和地球中心的假想线),在地球中腰画一个与地轴垂直的大圆圈,使圈上的每一点都和南北两极的距离相等,这个圆圈就叫作“赤道”。在赤道的南北两边,画出许多和
问题内容: 我希望能够估算两个(纬度,经度)点之间的距离。我想下冲,因为这将用于A 图形搜索,并且我希望它能 快速* 。这些点最多相距800公里。 问题答案: Python中Haversine公式的答案(两个GPS点之间的轴承和距离)提供了可以回答您问题的Python实现。 使用下面的实现,我在一台旧笔记本电脑上 不到1秒的 时间内 执行了100,000次迭代 。我认为对于您来说,这应该足够了。但