如何在postgis中找到几何半径?

时间:2014-03-21 07:29:05

标签: postgresql openlayers gis postgis

我正在尝试开发一个GIS应用程序,其中我想限制创建的缓冲区的地理围栏。

是否有postgis函数来查找缓冲区的半径或地理围栏的边界?

2 个答案:

答案 0 :(得分:1)

您可以使用ST_Envelope获取某个要素的边界框范围,即最小边界矩形(MBR)。

select ST_Astext(ST_Envelope(ST_Buffer(ST_Makepoint(0,0),10)));

返回一个不是圆的矩形

POLYGON((-10 -10,-10 10,10 10,10 -10,-10 -10))

然后,您可以使用最小和最大函数,ST_Xmax,ST_Xmin和Y等值来获得MBR的宽度和高度。

这是你问的吗?

答案 1 :(得分:1)

感谢John,

我错误地问了这个问题,我的实际要求是围栏不得越过允许的范围。我首先考虑限制围栏的半径,但可以使用st_contains来完成,因为它符合我的实际要求。

Select st_contains ((select the_geom from gis.city_border),(select the_geom from geofence))

解决。