Home  >  Article  >  Backend Development  >  百度map中,怎么根据一个坐标点搜索数据库中附近多少距内的N个坐标点

百度map中,怎么根据一个坐标点搜索数据库中附近多少距内的N个坐标点

WBOY
WBOYOriginal
2016-06-13 12:02:391054browse

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

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

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

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

使用的是百度地图。

在线等 谢谢。

------解决方案--------------------
排序坐标列
筛选欧几里得距离符合条件的记录
------解决方案--------------------
我认为这样:

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

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

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

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn