纬度和距离之间的关系

Posted

技术标签:

【中文标题】纬度和距离之间的关系【英文标题】:RelationShip between lat lng and distance 【发布时间】:2013-10-31 06:22:24 【问题描述】:

假设我有用户 X 的 lat/lng,例如 50.597186、5.449219,并且我有一个包含用户(大约 100 万)lat 和 lng 的数据库。现在我想找出用户 X 附近的用户,例如找到距离 X 位置 5 公里范围内的所有用户。 如何在数据库中找到用户。有什么建议吗?我尝试this 网站来获取纬度/经度和距离之间的关系,但我不明白它如何?

【问题讨论】:

您可以按升序对数据进行排序,然后您可以查询数据库以显示距离X位置5公里的半径 【参考方案1】:

如果您想使用 php 执行此操作,请使用 haversine formula。这是一些棘手的三角函数,但就像一个魅力。请注意,负 lon/lat 表示西/南(此约定并非普遍遵循,请检查您的数据以确定)。

如果你想在mysql中做这一切,你可以使用haversine,还有一种语法来近似半径中的其他点。看看this answer。

【讨论】:

以上是关于纬度和距离之间的关系的主要内容,如果未能解决你的问题,请参考以下文章

经纬度之间距离怎么算?

如何计算经纬度两点之间的距离? [复制]

2个城市之间的经度和纬度距离等式是啥[重复]

如何计算经纬度之间的距离

用于查找使用纬度和经度之间的距离的Sql返回错误的距离

根据两地点经纬度如何计算两地之间的距离?用啥方式计算