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

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

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

  1. | column | type |
  2. |----------|---------|
  3. | id | int |
  4. | name | varchar |
  5. | location | polygon |

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

  1. SELECT * FROM municipalities
  2. WHERE st_contains(
  3. location,
  4. ST_GEOMFROMTEXT('POINT(50.849243 5.690800)')
  5. );

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

htzpubme

htzpubme1#

您可能需要指定点的epsg。

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

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

相关问题