表中所有点的缓冲区为100m,Postgresql中有50M个条目

2024-04-26 03:03:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个50米的表格,上面有经纬度,geom是我从QGIS导入时创建的。我试图通过调用jupyter笔记本中的表格,为表格中的所有点创建100米的缓冲区。我还尝试使用SRID:25832转换坐标系以米为单位的缓冲区,但我无法在postgresql视图中看到投影到正确位置的点

SELECT * FROM public."operation"
ST_Buffer(geom, 100, 25832)

Tags: from视图postgresql单位笔记本jupyterselect表格
1条回答
网友
1楼 · 发布于 2024-04-26 03:03:01

如果几何图形在lon/lat空间参考系统中编码,则只需将其转换为geography并应用缓冲函数。使用geography它使用的单位是米:

  buffer of 100 metres
SELECT ST_Buffer(geom::geography,100) FROM public.operation;

或者,如果您希望使用EPSG:25832,则必须首先对其进行转换

SELECT ST_Buffer(ST_Transform(geom,25832),100) FROM public.operation;

演示:^{}

相关问题 更多 >