当我的地理围栏圈内存在特定点(纬度/长度)时,我需要返回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。
请告诉我这个查询是否正确。
答案 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