我有多边形的两个大名单。使用python,我想获取列表1中的每个多边形,并找到它与列表2中的多边形的几何交集的结果(我正在使用shapely来做到这一点)。蟒蛇:排序多边形的两个列表交叉路口
因此,对于列表1中的多边形i,列表2中可能有多个与其相交的多边形。
问题是这两个列表都很大,如果我只是嵌套两个循环并为每个可能的多边形对运行交叉命令,则需要很长时间。我不确定在布尔测试之前交叉点是否会显着提高速度(例如,如果intersects:return intersection)。
对于我来说,排序或组织这两个多边形列表以便使交点 更有效率是一个好方法?有没有适合这种情况的排序算法,以及我可以使用python进行的排序算法?
我是比较新的规划,并在离散数学没有背景,所以如果你知道一个现有的算法 ,我应该使用,(我假设存在这类情况),请将链接或给予一定的解释,可以帮助我实际上 在Python中实现它。
此外,如果有一个更好的StackExchange网站这个问题,让我知道。我觉得它像桥梁一般python编程,gis和几何,所以我不太确定。
是凸多边形? – 2011-01-24 00:16:53
它们的顶点可以形成凸或凹的角度,他们也有洞,但我可以很容易地使用他们的边界框是否会有所帮助。 – BenjaminGolder 2011-01-24 00:21:19
空间分区!四边形树或边界框上的体积kd树。 – 2011-01-24 00:21:44