PostGIS:搜索几何位置

时间:2013-02-14 09:01:52

标签: postgis

我正在开发一个系统,用于在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)

我在这里做错了什么?我应该为此目的使用其他功能吗?

1 个答案:

答案 0 :(得分:0)

查询看起来正确。它返回false,因为该点不在多边形中。这两个几何形状是不相交的。

point in polygon