我正在使用postgis 2.2。
我正在使用ST_Buffer到我的多边形,它正在为半径(以米为单位)工作,但是当我要应用负半径时,它显示空值。
这是我的问题:
SELECT
ST_AsGeoJSON(
ST_Buffer(
ST_GeomFromText(
'POLYGON((72.89994120597838 19.070245311788284,
72.89981782436371 19.069915760688904,
72.9002845287323 19.070001951039718,
72.900338172912619.070341641985888,
72.89991974830626 19.07023517176424,
72.89994120597838 19.070245311788284)
)', 4326)
,-3.024)
) as geometry;
结果是:
geometry
-------------------------------------
{"type":"Polygon","coordinates":[]}
(1 row)
如何将负缓冲区(-10米)应用于多边形(以米为单位)?
答案 0 :(得分:0)
你得到的是空值,因为你的缓冲区参数太高,如(来自postgis docs)"计算在这个几何的空间参照系中"。
您可以使用此功能
geography ST_Buffer(geography g1, float radius_of_buffer_in_meters);
将ST_GeomFromText(WKT, SRID)
替换为ST_GeogFromText(WKT)