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

ia2d9nvy  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(582)

我正在实现一个web应用程序,我需要检查一个给定的点是否在mysql表中的多边形内?
我正在使用asp.net和mysql。我正在尝试使用下面的sql语句

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

与我的表,并得到以下错误(函数stu in不存在)

这里有什么问题?还有,geom是一个关键字吗(我从一个网站上得到这个,但不记得在哪里)
我的多边形坐标在用以下语句编写的表格中:(它正在工作,我可以读和看)

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

非常感谢您的帮助。

w7t8yxp5

w7t8yxp51#

如果有人在寻找解决方案:

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:纬度
谢谢。

相关问题