Postgis ST_Intersects为圆圈提供错误的值

时间:2017-09-18 09:14:52

标签: google-maps-api-3 postgis

当我的地理围栏圈内存在特定点(纬度/长度)时,我需要返回true。但即使该点在我的地理围栏圈之外,该查询也会重新调整为真。

请在下面找到查询。

从masterdata.al_m_geofence中选择ST_Intersects(ST_Buffer(geofence_polygon,127.08),ST_POINT(18.595798,73.78833))

在此查询中,geofence_polygon属于geography。

127.08 - 以米为单位的圆半径

18.595798 - 纬度

73.78833 - 经度

只有当点在圆圈内时,查询才会返回true。

请告诉我这个查询是否正确。

1 个答案:

答案 0 :(得分:2)

您的ST_POINT arguments are backwards

geometry ST_Point(float x_lon, float y_lat);

应该是:

ST_POINT(73.78833,18.595798)

完整查询:

select ST_Intersects(ST_Buffer(geofence_polygon, 127.08), ST_POINT(73.78833,18.595798)) from masterdata.al_m_geofence