有没有一种简单的方法可以在点周围创建方形缓冲区,如果它们相交,请合并它们? [英] Is there an easy way to create square buffers around point and if they intersect, merge them?

查看:37
本文介绍了有没有一种简单的方法可以在点周围创建方形缓冲区,如果它们相交,请合并它们?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在给定点周围创建方形缓冲区,我能够创建圆形缓冲区,但不能创建方形缓冲区.

I am trying to create square buffers around given points, I am able to create circular buffers but not square ones.

from shapely.ops import transform
from shapely.geometry import Point
    local_azimuthal_projection = "+proj=aeqd +R=6371000 +units=m +lat_0={} +lon_0={}".format(lat, lon)
                    wgs84_to_aeqd = partial(
                        pyproj.transform,
                        pyproj.Proj('+proj=longlat +datum=WGS84 +no_defs'),
                        pyproj.Proj(local_azimuthal_projection),
                    )
                    aeqd_to_wgs84 = partial(
                        pyproj.transform,
                        pyproj.Proj(local_azimuthal_projection),
                        pyproj.Proj('+proj=longlat +datum=WGS84 +no_defs'),
                    )

                    point_transformed = transform(wgs84_to_aeqd, Point(float(lon), float(lat)))
                    buffer = point_transformed.buffer(0.5*1000)
                    buffered_geom = transform(aeqd_to_wgs84, buffer).exterior.coords[:]

此外,如果我有一些重叠的缓冲区,该如何合并它们?

Also, if I have some buffers that overlap, how can I merge them?

推荐答案

在jaguardb中,它应该很简单从t所在的地方选择union(buffer(p1),buffer(p2))相交(buffer(p1),buffer(p2));

In jaguardb, it should be simply Select union(buffer(p1), buffer(p2)) from t where intersect(buffer(p1), buffer(p2));

这篇关于有没有一种简单的方法可以在点周围创建方形缓冲区,如果它们相交,请合并它们?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆