我正在开发一个将地址的纬度/经度信息存储在 PostGIS 表中的系统。要将 Lat/Long 存储在几何数据类型中,我使用 ST_GeometryFromText 函数。
例如,以下函数调用获取针对指定纬度/经度位置的几何值:
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”实际上位于多边形内,但 ST_Within 返回的是 false。我以这种方式使用 ST_Within:
St_Within(myPointGeo,myPolygonGeo)
我在这里做错了什么?我应该为此目的使用其他功能吗?