Sono riuscita a risolvere solo creando un'ulteriore lista anche per gli
attributi.
lista_lati = []
attributi = []
id_lati=lati.fieldNameIndex("id")
for f in linee.getFeatures():
lista_lati.append(f)
id_att=f[id_lati]
attributi.append(id_att)
nel successivo for scorro poi
Il 06/04/2018 10:41, sarag ha scritto:
Grazie mille per i consigli! E' stato prezioso. Il problema del confronto tra
lunghezze è risolto.
Ora però dovrei effettuare dei confronti su altri attributi del layer
"lati". Lavorando con la lista questo continua ad essere possibile?
Ad esempio per il
Grazie mille per i consigli! E' stato prezioso. Il problema del confronto tra
lunghezze è risolto.
Ora però dovrei effettuare dei confronti su altri attributi del layer
"lati". Lavorando con la lista questo continua ad essere possibile?
Ad esempio per il controllo sull'ID, prima scrivevo:
Il 05/04/2018 17:14, sarag ha scritto:
Purtroppo non riesco a venirne a capo ugualmente.
Facendo una cosa del genere
feat=lati.getFeatures()
for i in range(1, n-1):
l1=feat[i].geometry().length()
l2=feat[i+1].geometry().length()
il nuovo errore è: TypeError: 'QgsFeatureIterator'
Purtroppo non riesco a venirne a capo ugualmente.
Facendo una cosa del genere
feat=lati.getFeatures()
for i in range(1, n-1):
l1=feat[i].geometry().length()
l2=feat[i+1].geometry().length()
il nuovo errore è: TypeError: 'QgsFeatureIterator' object does not support
indexing
Mi scuso se
prova così: metti le features ottenute con getfeatures() in una lista
feat = lati.getfeatures()
poi ti ci muovi così:
for i in range(0, len(feat)-1):
feat[i]..
feat[i+1]..
feat[i-1]..
marco
Il 05/04/2018 16:04, sarag ha scritto:
Sì, comprendo. Mi sono espressa male.
Il 05/04/2018 15:16, sarag ha scritto:
Buongiorno a tutti,
devo confrontare le lunghezze di due lati appartenenti allo stesso poligono.
Ho creato tramite un algoritmo un nuovo layer "lati" di linee coincidenti
con i lati del poligono (l'appartenenza al poligono è mantenuta dall'ID
presente
Buongiorno a tutti,
devo confrontare le lunghezze di due lati appartenenti allo stesso poligono.
Ho creato tramite un algoritmo un nuovo layer "lati" di linee coincidenti
con i lati del poligono (l'appartenenza al poligono è mantenuta dall'ID
presente nella tabella degli attributi! es. se