import geopandas as gpd import shapely.speedups gpd.io.file.fiona.drvsupport.supported_drivers['KML'] = 'rw' fp1 = "buildings.kml" fp2 = "districts.kml" buildings = gpd.read_file(fp1, driver="KML") districts = gpd.read_file(fp2, driver="KML") gid_buildings = 0 gid_districts = 0 shapely.speedups.enable() for i in range(1, 41933): gid_buildings[i] = buildings.loc[buildings['SimpleData name="gid"']==i] for j in range(1, 57): gid_districts[j]=districts.loc[districts['SimpleData name="gid"']==j] pip_mask = 0 for j in range(1, 57): pip_mask[j] = gid_buildings.within(gid_districts[j].loc[0, 'geometry']) total_result_boolean = sum(pip_mask) total_result_boolean.sort()