Php 列出某个位置特定半径内的点?
我正在为iPhone应用程序制作API。简单地说,我在数据库中存储了位置(Lat/long)。当一个用户发送一个对半径为五(5)英里范围内的点的请求时,我需要使用一个算法从MySQL数据库中只给我这些点Php 列出某个位置特定半径内的点?,php,mysql,algorithm,location,radius,Php,Mysql,Algorithm,Location,Radius,我正在为iPhone应用程序制作API。简单地说,我在数据库中存储了位置(Lat/long)。当一个用户发送一个对半径为五(5)英里范围内的点的请求时,我需要使用一个算法从MySQL数据库中只给我这些点 如何将坐标中的英里转换为分钟?也就是说,考虑到经度逐渐变细的特性,我要在搜索的坐标中添加多少来与用户的位置进行比较 2当你到达地球的不同点时,考虑经度/纬度变化的方式有什么好的公式 谢谢:)您从未提及如何存储数据,因此我无法提供实际代码。以下是我想到的: 将所有数据导入某个高效的数据库。对其进行
谢谢:)您从未提及如何存储数据,因此我无法提供实际代码。以下是我想到的:
foreach
遍历该数组并使用距离公式(distance=sqrt((x-x)^2+(y-y)^2)
)。如果在5英里内,则将其添加到另一个阵列中。如果没有,忽略它我必须同意Darren的观点,Google Maps API可能更适合,尽管我以前从未使用过它。我想说:到此为止,看一看。我的意思是,它存在是有原因的。关于地理坐标,确定距离的最准确的方法不是欧克利德距离,而是大圆距离: