好的,我有一个相当复杂的查询,它检查一个点变量是否包含一组纬度+经度坐标(我用-41.000000
&代替174.000000
了可读性)包含在一个多边形中,该多边形是从我的表创建的squares
(包含代表正方形左上角的 2.25m 行坐标,然后我通过添加0.5 / 60
到每个坐标以创建正方形来推断)。MBRContains
它使用 MySQL函数检查是否存在匹配项。唯一的问题是,它根本不起作用,我只是收到以下消息:
MySQL returned an empty result set (i.e. zero rows).
这是查询:
SELECT `square_id` FROM `squares` WHERE
MBRContains(
GeomFromText(
CONCAT(
'POLYGON((',
`coord_lat`,' ',`coord_long`,',',
`coord_lat`,' ',(`coord_long` + (0.5 / 60)),',',
(`coord_lat` + (0.5 / 60)),' ',(`coord_long` + (0.5 / 60)),',',
(`coord_lat` + (0.5 / 60)),' ',`coord_long`,
'))'
)
),
GeomFromText('POINT(-41.000000 174.000000)')
)
知道这是为什么吗?肯定有一个正方形包含我的点对象内的坐标,我在我的 SQL 语法中看不到任何明显的错误。想法?