有没有一种简单的方法可以在点周围创建方形缓冲区,如果它们相交,请合并它们? [英] Is there an easy way to create square buffers around point and if they intersect, merge them?
本文介绍了有没有一种简单的方法可以在点周围创建方形缓冲区,如果它们相交,请合并它们?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试在给定点周围创建方形缓冲区,我能够创建圆形缓冲区,但不能创建方形缓冲区.
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屋!
查看全文