如何在PostGIS中以米为单位将缓冲区大小从度数更改为距离?

SELECT ST_Buffer(geom,400)
FROM my_table;

此查询创建一个400度的缓冲区。如何更改它以在点周围有400m缓冲区? 我尝试使用ST_TransformST_SetsrID,但出现错误。很可能是因为我的查询结构错误。 谢谢您的帮助。

iCMS 回答:如何在PostGIS中以米为单位将缓冲区大小从度数更改为距离?

ST_buffer使用投影单位。您可以将geometry强制转换为geography以使用米,也可以依赖以米为单位的合适局部投影。

SELECT ST_Buffer(geom::geography,400)
FROM my_table;

如果尚未设置,则可能必须先设置原始CRS

SELECT ST_Buffer(st_setSRID(geom,4326)::geography,400)
FROM my_table;
本文链接:https://www.f2er.com/2081917.html

大家都在问