lat lng和距离之间的关系

时间:2013-10-31 06:22:25

标签: php mysql geolocation

假设我有用户X的lat / lng,例如50.597186,5.449219,我有一个包含用户(约1百万)lat和lng的数据库。现在我想找出附近用户X的用户,例如查找距离X位置5公里范围内的所有用户。 如何在数据库中查找用户。有什么建议吗?我试过this网站来获取lat / lng和距离之间的关系,但我不明白它是怎么回事?

1 个答案:

答案 0 :(得分:1)

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

如果你想在mysql中完成所有操作,可以使用hasrsine,并且还有一种语法来近似半径中的其他点。看看this answer