我想从多边形字段中确切存在点的表中返回值 我写了查询但不准确,返回的值甚至是多边形点
"select `name`,`loc_id` FROM `locations` where MBRContains(`polygons`,ST_GeomFromText('Point($loc[0] $loc[1])'))= 1"
答案 0 :(得分:1)
在mysql而不是MBR(最小边界矩形)中,您应该使用ST_CONTAINS
"select `name`,`loc_id`
FROM `locations`
where ST_CONTAINS(`polygons`,ST_GeomFromText('Point($loc[0] $loc[1])'))= 1"
ST_CONTAINS仅在一个要素包含另一个要素时返回true,并且由于您正在检查点,因此这应该会给您带来更好的结果