我在Debian 7 x86_64
上使用MySQL 5.5.35
服务器。我试图检查点是否在矩形内。我用的是Contains
功能是这样的:包含MySQL函数 - 意外结果
SELECT Contains
(
Polygon
(
Point(55.538322,37.332026),
Point(55.566347,37.875850),
Point(55.898002,37.873103),
Point(55.896459,37.381465),
Point(55.538322,37.332026)
),
Point(55.737177,37.623164)
)
点是明显的矩形范围内,我期待得到1
输出,但我所得到的是(NULL)
。
请你指点我的错误吗?谢谢!
更新:经过一番调试它出来的的NULL
是由Polygon
函数返回。这就是问题所在。
谢谢你的回应。你所建议的语法对我有用。也许你知道我为什么不工作?谢谢! – Kolyunya
真诚的我认为,对于空间关系,您需要使用精确的函数(MBRContains,而不仅仅是包含),就像在mysql dev站点上所解释的一样 http://dev.mysql.com/doc/refman/5.6/en/functions- for-testing-spatial-relations-between-geometric-objects.html 对于其余的我不知道为什么没有'GeomFromText'关键字不能工作,但我一直使用这个sintax从Mysql站点获取它。 – AlexF
我发现了我的错误,并发布了可能对其他人有用的答案。 – Kolyunya