我有一列(latlon
),这是ST_MultiPolygon
。
另一个几何是我想检查它是否在我的MultiPolygons中的一个点。
我试过了:
SELECT ST_CONTAINS(latlon, ST_GeometryFromText('POINT(48.208417 16.372472)')
FROM districts
它总是返回false;为什么我不能检查点是否在ST_Contains
的多面内?
答案 0 :(得分:18)
它的工作原理如下:
SELECT name, st_contains(latlon, ST_GeomFromText('POINT(16.391944 48.218056)', 4326)) FROM bezirks
答案 1 :(得分:3)
st_contains适用于多种几何。 您必须确保该点位于多边形几何体的相同坐标系上。
此外,您必须知道,如果该点落入多面体的边界,则不会被视为包含。在这种情况下,它将返回false,因为多边形几何体内没有任何点。