我正在开发一个系统,用于在PostGIS表中存储地址的纬度/经度信息。要在几何数据类型中存储Lat / Long,我使用的是ST_GeometryFromText函数。
例如,以下函数调用获取指定Lat / Long位置的几何值:
myPointGeo = ST_GeometryFromText('POINT(40.758871 -73.985114));
类似地,我将Polygon转换为几何表示,如下所示:
myPolygonGeo = ST_GeometryFromText('POLYGON ((40.7566484549725 -73.9878561496734, 40.7556894646734 -73.9853026866913, 40.7545841705587 -73.9860537052154, 40.7548036054111 -73.9881458282471, 40.7559820394514 -73.9887895584106, 40.7566484549725 -73.9878561496734 ))')
我想知道上面的纬度/长度位置是否位于此多边形内。为此,我正在使用ST_Within函数。但是虽然'myPointGeo'实际上位于Polygon中,但ST_Within返回false。我正在以这种方式使用ST_With:
St_Within(myPointGeo,myPolygonGeo)
我在这里做错了什么?我应该为此目的使用其他功能吗?
答案 0 :(得分:0)
查询看起来正确。它返回false
,因为该点不在多边形中。这两个几何形状是不相交的。