mysql MBRWithin()有多个点

时间:2013-10-25 11:56:08

标签: mysql geometry spatial-index

正如我在where col in() clause for geometry column in mysql

之前提出的那样

我在桌面上有很多Point,我希望通过一个查询从我的表中找到多个点,有人建议在MySQL中使用MBRWithin()MBRContains()地理空间函数,但我不知道知道如何将此函数用于多个点,例如Where in()查询:

SELECT id, asText(latlng) FROM points WHERE asText(latlng) in ('POINT(35.80684 51.427820000000004)','POINT(35.72343 51.303200000000004)')

可以帮助我选择多个点吗?

感谢

1 个答案:

答案 0 :(得分:0)

那么你现在正在搜索字符串“POINT(35.80684 51.427820000000004)”而不是函数的值,所以我们确定要更改它。

在这种情况下,可能更容易使用个别条件而不是IN语句

SELECT 
  id
, asText(latlng) 
FROM points 
WHERE (   asText(latlng) = POINT(35.80684 51.427820000000004)
       OR asText(latlng) = POINT(35.72343 51.303200000000004)
       OR …
      )