Вложенный цикл по слою Shape-файла (перебор объектов)
Добавлено: 17 июн 2018, 21:48
Доброго времени суток уважаемые форумчане! Столкнулся с проблемой перебора всех объектов слоя shape-файла... имеется следующий код:
Считаю количество пересечений объекта с другими объектами для примера, но проблема в другом. Вложенный цикл исполняется только 1 раз.
Может кто-то знает иной способ, как перебрать объекты каждый с каждым в одном слое?
Результат работы скрипта на shape-файле из 40 объектов во вложении (считает неправильно даже для первого объекта)
Код: Выделить всё
inputData = ogr.Open(inputShapefile, False)
inputData2 = ogr.Open(inputShapefile, False)
inputLayer = inputData.GetLayer(0)
inputLayer2 = inputData2.GetLayer(0)
k = 0
for i in inputLayer:
count = 0
geom = i.GetGeometryRef()
for j in inputLayer2:
geom2 = j.GetGeometryRef()
if geom.Intersection(geom2):
count+=1
print "Obj {} intersect {} objs".format(k, count)
k +=1
Может кто-то знает иной способ, как перебрать объекты каждый с каждым в одном слое?
Результат работы скрипта на shape-файле из 40 объектов во вложении (считает неправильно даже для первого объекта)