MySQL POLYGON查询无结果
带有POINT数据类型的数据库表。我无法从MySQL POLYGON查询中得到任何结果。任何想法我做错了什么?多边形是封闭的。MySQL POLYGON查询无结果
id location
1 POINT(-37.816652 144.964595)
2 POINT(-37.788132 144.931183)
3 POINT(-37.811291 144.985916)
4 POINT(-37.8389571 144.9656531000001)
5 POINT(-37.851038 144.993205)
6 POINT(-37.8029679 144.9501126)
/*
north = -37.711586434367305
east = 145.45740074179685
south = -37.92854972934211
west = 144.6142000582031
*/
SELECT * FROM `properties` WHERE Contains (GeomFromText('POLYGON((145.45740074179685, -37.711586434367305, 144.6142000582031, -37.711586434367305, 144.6142000582031, -37.92854972934211, 145.45740074179685, -37.92854972934211, 145.45740074179685, -37.711586434367305))'), location)
SELECT * FROM `properties` WHERE Contains (PolygonFromText('POLYGON((145.45740074179685, -37.711586434367305, 144.6142000582031, -37.711586434367305, 144.6142000582031, -37.92854972934211, 145.45740074179685, -37.92854972934211, 145.45740074179685, -37.711586434367305))'), location)
你似乎已经得到了你的cordinates在错误的顺序。
GeomFromText('POLYGON((-37.711586434367305,145.45740074179685,
-37.711586434367305, 144.6142000582031, ....)))
另外Contains已被弃用。更好地使用MBRContains。
感谢您的回复。我调换了坐标并使用了MBRContains,但是仍然没有结果。 –
ST_Contains怎么样?http://dev.mysql.com/doc/refman/5.6/en /spatial-relation-functions-object-shapes.html#function_st-contains – e4c5
ST_Contains仍无结果 –
您的WKT看起来不对我。它应该是'POLYGON((XY,X Y ...'而不是'POLYGON((X,Y,X,Y ...),不应该吗?(这些值似乎是颠倒过来的,正如@ e4c5所暗示的) –
就是这样,谢谢。 –