我正在尝试通过QGIS算法按位置提取找到shapefile中的所有多边形,它可以给我带来完美的结果,但是却花费了太多时间,大约需要25个小时。现在,我希望由其他图书馆(例如,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)
答案 0 :(得分:0)
我前一段时间做过,如果我没记错的话,我使用了geopandas覆盖方法。因此,“伪”代码可以处理此问题……
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')