如何检查一个点是否在MySQL表的多边形内?

时间:2018-06-25 05:43:26

标签: mysql polygon

我正在实现一个Web应用程序,需要检查给定点是否在MySQL表的多边形内?

我正在将ASP.net与MySQL一起使用。我正在尝试使用以下SQL语句

SELECT REGION_USER_ID FROM region WHERE (ST_Within(point(-23, 1), geom));

与我的桌子并得到以下错误。 (功能ST_Within不存在)

enter image description here

这是什么问题? 另外,geom是关键字吗? (我是从网站上获得的,但不记得在哪里)

我的多边形坐标在下面的语句写的表中:(它正在工作,我可以阅读和看到)

INSERT INTO region (REGION_POLYGON) VALUES (PolygonFromText(@Parameter1))

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

这是有人在寻找解决方案:

string Query = @"SELECT " +
                                    "A," +
                                    "B,"+
                                    "C,"+
                                    "D,"+
                                    "E,"+
                                    "F"+
                                "FROM user " +
                                "INNER JOIN State ON " +
                                    "A=B AND C=@Parameter1 " +
                                "INNER JOIN Country ON " +
                                    "CONTAINS(REGION_POLYGON, point(@Parameter2, @Parameter3)=1)";

参数2:对数 参数3:纬度

谢谢。