Cen*_*ion 11 php mysql select latitude-longitude
我有一个mysql数据库和2个表让我们说客户和学校.现在每个表都有列纬度和经度.我需要在第二个表格中制作一个SELECT,其中学校位于第一张桌子的一个记录的给定半径范围内.应根据纬度和经度进行计算.PS:我正在使用PHP.
Vit*_*nko 10
您可以使用球面的余弦定律计算距离:
SELECT DEGREES(ACOS(SIN(RADIANS(clients.latitude)) * SIN(RADIANS(schools.latitude)) +
COS(RADIANS(clients.latitude)) * COS(RADIANS(schools.latitude))
* COS(RADIANS(clients.longitude
– schools.longitude))))
* 60 * 1.1515 * 1.609344 AS distance
FROM clients, schools HAVING distance < $radius
Run Code Online (Sandbox Code Playgroud)
RADIANS(X) - 度数到弧度
ACOS(X) - X的反余弦值,即余弦为X
DEGREES(X)的值 - 弧度到度
60分钟,程度
1.1515英里,海里
1.609344英里,一英里
| 归档时间: |
|
| 查看次数: |
864 次 |
| 最近记录: |