在形状文件中查找所有相交的多边形
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')
我试图通过 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')