Heim >Backend-Entwicklung >PHP-Tutorial >百度地图中,如何根据一个坐标点搜索数据库中附近多少距内的N个坐标点

百度地图中,如何根据一个坐标点搜索数据库中附近多少距内的N个坐标点

WBOY
WBOYOriginal
2016-06-23 13:53:271346Durchsuche

环境:php+mysql

现有数据库中存放一些经纬度(100W以上)坐标点,

如果根据一个坐标点获取附近1公里内的所有符合信息?

数据库中 经度字段lng 纬度字段lat。。

使用的是百度地图。

在线等 谢谢。


回复讨论(解决方案)

搜狗比百度好

同意,但是公司要求必须是百度的。所以没有的选择

搜狗比百度好

排序坐标列
筛选欧几里得距离符合条件的记录

我认为这样:

既然有了中心点经纬度,那么可以根据维度,计算出符合N公里的经纬度大致范围。。这样搜出的结果是个2N*2N的正方形,

比如北纬34.5°,1公里就没必要找北纬35+或者34-的点,具体的可以先程序中换算

不过尚需过滤一部分,圆半径N之外的部分,

如果这样可以,只要lng lat联合索引,百万规模,非常快速

好无聊啊,又上当了!难道我的时间不是时间吗!?

http://www.86afei.com/category/work/mysql
http://www.canphp.com/article/show-113.html

如果是您觉得人家的算法有问题,您可以亮出自己的。
大可不必在这里装傻

楼主太无德了。。。也不说下最后怎么结局的

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn