多边形中的点:提供给函数st_within的GIS数据无效

时间:2018-07-20 14:32:02

标签: mysql gis geospatial polygon point

我正在尝试通过MySQL确定给定点是否在多边形内。我用以下几列设置了一个名为“ municipalities”的表:

id        int  
name      varchar  
location  polygon

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

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

不幸的是,这导致错误:“提供给st_within函数的GIS数据无效。”

我完全迷失了为什么出现此错误。我开始认为位置列可能包含错误的数据,但是我不确定如何检查。

任何人都可以提供一些有关此查询失败原因的见解吗?

注意:我正在使用MySQL 5.7.22

1 个答案:

答案 0 :(得分:0)

您可能需要指定点的EPSG。

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

确保将其与您的位置数据EPSG放在同一EPSG中。