I am looking for all Featurenames in a shapefile (shp2) which intersect with a given Featurename ('MyFeatureName') in another shapefile (shp1).
The following code works (python), however I am wondering - instead of looping through all features of shp1 and shp2 - if there is an easier/faster way to achieve this?
from osgeo import gdal
import ogr
vector1 = ogr.Open(path_to_shp1)
vector2 = ogr.Open(path_to_shp2)
layer1 = vector1.GetLayer()
for i in range(0, layer1.GetFeatureCount()):
feature1 = layer1.GetFeature(i)
if str(feature1.name) == 'MyFeatureName':
vectorGeometry1 = feature1.GetGeometryRef()
layer2 = vector2.GetLayer()
for j in range(0, layer2.GetFeatureCount()):
feature2 = layer2.GetFeature(j)
vectorGeometry2 = feature2.GetGeometryRef()
intersection = vectorGeometry1.Intersection(vectorGeometry2)
wkt = intersection.ExportToWkt()
if str(wkt) != "GEOMETRYCOLLECTION EMPTY" and str(wkt) != "POLYGON EMPTY":
print(feature2.name)