好的,所以我是MBRContains方法的新手,並且無法獲得工作方法。基本上我只是試圖根據遠離輸入位置的距離來過濾列表。MBRContains距離位置的距離幫助MySQL
我聽說這種方法比只進行復雜的數學計算更快。如果我錯了,請糾正我。
我還沒有能夠得到這項工作,希望有人解釋它是如何工作以及修復此代碼。
SELECT *
FROM listings JOIN suburbs ON listings.suburb_id = suburbs.id
WHERE MBRContains
(
LineString
(
Point (
@lon + 10/(111.1/COS(RADIANS(@lat))),
@lat + 10/111.1
),
Point (
@lon - 10/(111.1/COS(RADIANS(@lat))),
@lat - 10/111.1
)
),
LineString(
Point(
suburbs.longitude/(111.1/COS(RADIANS(suburbs.latitude))),
suburbs.latitude/111.1
)
)
)
我從另一個問題得到了這段代碼,但我還沒有能夠理解它或解決它。其實他們有點在哪裏我有我的第二個內線。但是我有我的lat和lng存儲在自己的列。
我想這個代碼轉變成一個功能,說WITHINDISTANCE功能,我會打電話的而不是大的一串代碼。
好的。這很好。那麼將位置數據存儲爲一列中的lat和lng會更好嗎? – 2015-02-08 19:18:26