2012-08-06 139 views
0

我需要一些幫助的結果,我從來沒有做過我自己的SQL搜索我試圖做到這一點:SQL搜索按距離

我的名字和位置的數據庫(該位置與上市緯度記錄和經度記錄)。然後,用戶可以通過輸入他們的郵政編碼(將其轉換爲經度和緯度)和他們願意旅行的距離(以英里爲單位,我可以將其轉換爲長/緯距離)進行搜索。

如何返回距離ZipCode距離的結果?

請記住,我從來沒有做過這樣的事情。

回答

1

有一個數學公式用於計算球體上兩點之間的最短距離。公式和JS實現它在這裏:

http://www.movable-type.co.uk/scripts/latlong.html

T-SQL的執行是在這裏:

http://weblogs.asp.net/jimjackson/archive/2009/02/13/calculating-distances-between-latitude-and-longitude-t-sql-haversine.aspx

+0

所以一旦我有足夠的距離內的位置的需要,如何我是否顯示從最近到最遠排列的結果?這是通過JavaScript,PHP或SQL處理的嗎? – Justgrant2009 2012-08-06 20:12:19

+1

我會通過SQL來做 - 定義一個數據庫函數來計算距離,然後在你的select語句中使用它: 「通過zipdistance(userzip,location_lat,location_lon)與mytable訂單的距離來選擇名稱,位置,zipdistance(userzip,location_lat,location_lon)」 – 2012-08-13 18:29:14