Python 获取给定多边形集之间具有公共交点的(形状)多边形的最大数量?

Python 获取给定多边形集之间具有公共交点的(形状)多边形的最大数量?,python,shapely,Python,Shapely,我有一个多个多边形的列表。实际上,我有一个点列表,我用点缓冲区将其转换成圆形多边形。我想在列表中找到具有公共相交区域的最大圆圈数(我不需要该区域,但如果我能得到该区域,它将非常有用) 例如,假设有4个圆,3个相互相交,第四个只与其中一个相交(参见下图)。是否有一个我可以使用Shapely编写的函数返回我3(具有公共交点的最大圆数为3,圆2、3和4) Shapely有几个用于重叠多边形的功能: -如果对象与对象其他共享任何区域,则返回True -返回表示两个多边形之间相交区域的多边形 对象和其他都

我有一个多个多边形的列表。实际上,我有一个点列表,我用点缓冲区将其转换成圆形多边形。我想在列表中找到具有公共相交区域的最大圆圈数(我不需要该区域,但如果我能得到该区域,它将非常有用)

例如,假设有4个圆,3个相互相交,第四个只与其中一个相交(参见下图)。是否有一个我可以使用Shapely编写的函数返回我3(具有公共交点的最大圆数为3,圆2、3和4)


Shapely有几个用于重叠多边形的功能:

-如果
对象
与对象
其他
共享任何区域,则返回True

-返回表示两个
多边形之间相交区域的
多边形

对象
其他
都是形状优美的几何体对象,其中包括多边形


1。计算重叠

下面是计算重叠的简单解决方案,
Polylist
是多边形列表:

大多数交叉点=0
对于多段列表中的多边形:
触摸=0
对于多段列表中的子多边形:
如果多边形相交(子多边形):
触摸+=1
如果触摸>最高触摸距离:
最高触摸=触摸
根据设置的大小,有更好的方法对数据进行迭代


2。重叠区域

如果要测量多边形A和所有其他多边形之间的重叠,可以使用以下方法:

相交面积=0
对于多段列表中的多边形:
如果多边形相交(子多边形):
#创建两个多边形重叠的多边形,然后保存该区域。
重叠=(多边形相交(子多边形))
相交面积+=重叠面积

真的希望这有帮助,我很乐意回答任何问题。我是堆栈溢出新手,所以如果我遗漏了什么,请告诉我