如何检查一个点是否在 MySQL table 的多边形内?
How to check a point if it is inside a polygon in MySQL table?
我正在实现一个 Web 应用程序,我需要检查给定点是否在 MySQL table?
中的多边形内
我正在使用 ASP.net 和 MySQL。我正在尝试使用以下 SQL 语句
SELECT REGION_USER_ID FROM region WHERE (ST_Within(point(-23, 1), geom));
与我的 table 并得到以下错误。
(函数 ST_Within 不存在)
这里有什么问题?
另外, geom 是关键字吗? (我从一个网站得到这个但不记得在哪里)
我的多边形坐标在 table 中,写有以下语句:(有效,我可以阅读和查看)
INSERT INTO region (REGION_POLYGON) VALUES (PolygonFromText(@Parameter1))
非常感谢任何帮助。
如果有人正在寻找解决方案,请看这里:
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:Logitude
参数 3 : 纬度
谢谢。
我正在实现一个 Web 应用程序,我需要检查给定点是否在 MySQL table?
中的多边形内我正在使用 ASP.net 和 MySQL。我正在尝试使用以下 SQL 语句
SELECT REGION_USER_ID FROM region WHERE (ST_Within(point(-23, 1), geom));
与我的 table 并得到以下错误。 (函数 ST_Within 不存在)
这里有什么问题? 另外, geom 是关键字吗? (我从一个网站得到这个但不记得在哪里)
我的多边形坐标在 table 中,写有以下语句:(有效,我可以阅读和查看)
INSERT INTO region (REGION_POLYGON) VALUES (PolygonFromText(@Parameter1))
非常感谢任何帮助。
如果有人正在寻找解决方案,请看这里:
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:Logitude 参数 3 : 纬度
谢谢。