我有一个充满纬度/经度的地方的MySQL表。另一方面,我有一个客户端的javascript/html5页面,它将坐标发送到服务器。根据空间坐标获取最近的位置
使用客户端的坐标,我希望能够找到最近的位置。实现这一目标的最简单方法是什么?
类似SELECT * FROM places AS p WHERE p.latitude NEAR '49.8330001' AND p.longitude NEAR '-119.45600';
会很好。
我在这里遇到了几个问题,但他们没有给我一个正确的答案。我阅读了关于MySQL的空间扩展和其他一些SQL查询可能会实现的技巧,但没有一件看起来真的很“直截了当”,所以我认为可以通过一些更具标准化的方式来做到这一点,我可以查看一些例子。
任何人都有这些经验?
如何准确应该“近”是产生的?准系统最简单的方法是从数据库位置中减去当前位置并按照最小的差异进行排序,例如, 'select abs(latitude - $ lat)AS lat,abs(longitude - $ lon)AS $ log ...按照lat desc,lon desc'类型的顺序排列。没有涉及花哨的数学,只是一些减法。 –