我有一個mysql數據庫和2張桌子讓我們說客戶和學校。現在每個表格都有經度和緯度的列。而且我需要從第二個表格中選擇一個SELECT,例如第一個表格中的學校位於給定半徑的一個記錄中。計算應基於經度和緯度。 PS:我正在使用PHP。從基於緯度經度的mysql獲取結果
11
A
回答
9
您可以使用Spherical law of cosines計算距離 - 度和弧度
ACOS(X) -
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
RADIANS(X) X的反餘弦,即,餘弦值是X
DEGREES(X) - 弧度度
60分鐘一度
1.1515英里在nautical mile
1.609344 - 一英里里程數
相關問題
- 1. 基於經度和緯度從mysql獲取數據
- 2. 基於緯度經度
- 3. 用於獲取經緯度
- 4. 獲取基於距離和度數的經度緯度組合
- 5. 從GPS獲取高度/緯度/經度
- 6. 從CLLocation獲取經緯度
- 7. 從json獲取經緯度
- 8. 從TWebBrowser的GoogleMaps獲取緯度經度
- 9. 基於SQL的經緯度
- 10. 獲取基於給定名稱的經度和緯度的API
- 11. 獲取緯度和經度
- 12. 獲取經度和緯度
- 13. 獲取經緯度從經緯度對象的Android
- 14. 基於Google Geocode API的公開IP獲取緯度和經度?
- 15. directionsService.route結果獲取所有標記的緯度經度值
- 16. 從jxmapviewer2獲取緯度經度
- 17. 從國名獲取經度和緯度
- 18. 獲取緯度,經度從地址
- 19. 從GpsMyLocationProvider獲取經度和緯度(OSMdroid)
- 20. 獲取緯度和經度從PIN碼
- 21. 從PostCode獲取經度和緯度
- 22. 從restfb獲取緯度和經度
- 23. 基於經度和緯度從grib文件中提取數據
- 24. MySql的緯度和經度
- 25. 從google map v3 direction api的結果中獲取經度和緯度?
- 26. 獲取mapbox.js中的緯度和經度
- 27. 獲取地址的緯度和經度
- 28. 獲取經度和緯度的限制
- 29. GeoAlchemy2:獲取緯度,經度點的
- 30. 從mapbox的地址獲取經緯度
除了Piskvor的回答,本教程還是相當不錯的:[使用MySQL的地理距離搜索](http://www.scribd.com/doc/2569355/Geo-Distance-用MySQL搜索),儘管我發現該頁面加載不好。作爲替代,PowerPoint演示文稿可以在[這裏]找到(http://www.mysqlconf.com/mysql2008/public/schedule/detail/347)。 – Mike 2010-08-20 07:29:40