PostGIS 和坐标,确定一个点是否在 polygon/multipolygon (kml) 内

PostGIS and coordinates, determinate if a point is inside a polygon/multipolygon (kml)

我的目标是确定 Input 中的点(坐标)是否在多边形内(点和 polygon/multipolygon 都是来自 postGIS 的地理对象)。现在我的查询总是 return 错误。

基本上这总是 return 错误,即使该点在多边形内部也是如此:

select st_contains(st_geomfromtext('POINT(42.17591110412206 13.716918686169493)',4326),st_geomfromkml('<Polygon><outerBoundaryIs><LinearRing><coordinates>13.722101,42.177614,0 13.72....... </Polygon>')
);

我当然截断了kml,无论如何格式是(lat,lng,0),同样在我使用4326的那一点上我不确定该值是否正确。我也试过

Point(LAT,LNG) and Point(LNG,LAT)

有人能帮帮我吗?我真的没有主意,我的查询肯定有问题。

实际上,关于官方文档(https://postgis.net/docs/ST_Contains.html):

boolean ST_Contains(geometry geomA, geometry geomB);

Returns TRUE if geometry B is completely inside geometry A.

一个点不能包含多边形;)