匹配 long &半径内的纬度

发布于 2024-11-01 00:50:12 字数 149 浏览 1 评论 0原文

我正在考虑使用地图坐标来进行基于位置的搜索,但我不知道从哪里开始。

我有一个坐标数据库 - 当我输入郊区时,我想显示给定半径内的所有匹配项。 (即搜索长/纬度坐标数据库并返回搜索郊区长/纬度 x 半径内的所有坐标)

我不确定如何实现这一点或从哪里开始?

I'm thinking of using my map coordinates to allow for location based searching and I don't know where to start.

I have a database of coordidinates - When I enter a suburb, I want to display all matches within a given radius. (i.e. search database of long/lat coords and return all coords that are in an x radius of long/lat of suburb searched)

I'm not sure how to achieve this or where to start?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

爱的故事 2024-11-08 00:50:12

嗯,这实际上取决于您使用的数据库。
一般技术是使用缩放器值函数,该函数使用如下公式:

distance = ACOS(SIN(lat1)*SIN(lat2)+COS(lat1)*COS(lat2)*COS(lon2-lon1))*6371

然后您可以编写如下查询:

select * 
from locations 
where mydistancefunction(lat1,lng1,locations.lat,locations.lng) < @radius

Well it really depends on what database you are using.
the general technique is to use a scaler value function that uses a formula such as:

distance = ACOS(SIN(lat1)*SIN(lat2)+COS(lat1)*COS(lat2)*COS(lon2-lon1))*6371

then you can write a query like:

select * 
from locations 
where mydistancefunction(lat1,lng1,locations.lat,locations.lng) < @radius
墨洒年华 2024-11-08 00:50:12

您知道 mysql 空间扩展吗?尝试创建表格中的空间列,即点,然后使用空间扩展提供的功能,这样您就不必重新发明轮子

Are you aware of mysql spatial extensions?Try to create a spatial column in your table i.e. Point and then use the functions that spatial extensions offer so you don't reinvent the wheel

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文