# ST_WITHIN
判断某个地点是否在指定的地理范围内。
PostGIS标准参考:https://postgis.net/docs/manual-3.5/ST_Within.html
# 语法
ST_WITHIN(geometry1, geometry2, distance)
- geometry1:必需,表示一个地理坐标,支持地理坐标类型字段,或者通过ST_POINT和ST_GEOMFROMTEXT函数将经纬度转换为地理坐标类型。
- geometry2:必需,表示一个地理区域,支持地理坐标类型字段,或者通过ST_POINT和ST_GEOMFROMTEXT函数将经纬度转换为地理坐标类型。
- distance:可选,表示距离geometry2区域边界的距离,该距离内的坐标点也属于此函数表达的范围内,单位米。常用于方圆500米范围内的查询。
# 示例
ST_WITHIN(ST_POINT([企业信息].[经度], [企业信息].[纬度]), ST_POINT(117.195907, 39.118327), 500)
查询指定地点方圆500米内的企业ST_WITHIN([企业信息].[地理坐标], ST_POINT(117.195907, 39.118327), 500)
同上,其中经纬度是地理坐标类型字段ST_WITHIN([企业信息].[地理坐标], ST_GEOMFROMTEXT('POINT(117.195907 39.118327)'), 500)
同上ST_WITHIN(ST_POINT([企业信息].[经度],[企业信息].[纬度]), ST_GEOMFROMTEXT('POLYGON((117.195907 39.118327, 116.925304 38.935671, 117.654173 39.032846, 117.195907 39.118327))'))
查询用户绘制的一个多边形内的企业。ST_WITHIN([企业信息].[地理坐标], ST_GEOMFROMTEXT('POLYGON((117.195907 39.118327, 116.925304 38.935671, 117.654173 39.032846, 117.195907 39.118327))'))
同上
是否有帮助?
0条评论
评论