在形状文件中查找所有相交的多边形

Find all intersecting polygons in a shape file

我试图通过 QGIS 算法按位置提取来找出 shapefile 中的所有多边形,它给了我完美的结果,但花费了太多时间,大约 25 小时。现在,如果可能的话,我希望它由其他图书馆(如 geopandas 或其他图书馆)完成。谁能告诉我哪个图书馆可以提供帮助?

这就是我在 geopandas 中所做的事情:

import itertools

import geopandas as gpd

gi = gpd.GeoDataFrame.from_file("D:\Shape_file_uploader\qgis\laneGroup.shp")

geoms = gi['geometry'].tolist()

intersection_iter = gpd.GeoDataFrame(gpd.GeoSeries([poly[0].intersection(poly[1]) for poly in  itertools.combinations(geoms, 2)

我前段时间做过这个,如果我没记错的话我使用了 geopandas 覆盖方法。所以 'pseudo' 代码来处理这个 ...

from geopandas import GeoDataFrame, overlay

first_shape_gdf = GeoDataFrame.from_file('D:\Shape_file_uploader\qgis\laneGroup.shp')
second_shape_gdf = GeoDataFrame.from_file('another.shp')

intersection_gdf = overlay(first_shape_gdf, second_shape_gdf, how='intersection')

看看Set-Operations with Overlay