好的,所以我是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