多边形中的点:提供给函数stu的gis数据无效

bxpogfeg  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(432)

我试图通过mysql确定一个给定的点是否在一个多边形内。我设置了一个名为“市政当局”的表,其中包含以下列:

|  column  |  type   |
|----------|---------|
|    id    |   int   |
|   name   | varchar |
| location | polygon |

我已经导入了一堆行,现在我正试图找到一个给定点在多边形中的行。我正在使用此查询:

SELECT * FROM municipalities 
WHERE st_contains(
    location, 
    ST_GEOMFROMTEXT('POINT(50.849243 5.690800)')
);

不幸的是,这会导致一个错误:“提供给函数stu的gis数据无效。”。
我完全不明白为什么我会犯这个错误。我开始认为location列可能包含错误的数据,但我不确定如何检查它。
有人能提供一些关于为什么这个查询失败的见解吗?
注意:我使用的是mysql 5.7.22

htzpubme

htzpubme1#

您可能需要指定点的epsg。

ST_GeomFromText('POINT(45 90)', 4326);

确保它在位置数据epsg的同一epsg中。

相关问题