我的目标是确定Input中的点(坐标)是否在多边形内(该点和多边形/多面都是来自postGIS的地理对象)。现在,我的查询始终返回false。
基本上,即使点在多边形内,它始终会返回false:
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)
有人可以帮助我吗?我真的没有主意,我的查询肯定有问题。
答案 0 :(得分:1)
实际上,关于官方文档(https://postgis.net/docs/ST_Contains.html):
布尔型ST_Contains(几何geomA,几何geomB);
如果几何B完全在几何A之内,则返回TRUE。
一个点不能包含多边形;)