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 elemento linea1 ed elemento linea2 appartengono al poligono n.1, avranno entrambi un attributo "ID" pari a 1). Creando un ciclo for per iterare le geometrie del layer "lati", vorrei confrontare la lunghezza dell'elemento linea i-esimo con il successivo (j-esimo=i-esimo+1). Il problema è che non riconoscendo pyqgis i come numero intero, non mi permette di incrementarlo (quindi di creare j=i+1).
for i in lati.getFeatures(): j=i+1 l1=i.geometry().length() l2=j.geometry().length() if(j<=n): if(i[idlin]=j[idlin]): etc. etc. TypeError: unsupported operand type(s) for +: 'QgsFeature' and 'int' Riuscirei anche ad ovviare a questo problema creando un'altra variabile h come riportato di seguito... h=0 for i in lati.getFeatures(): if (i==1): h=1 else: h=h+1 j=h+1 l1=i.geometry().length() l2=j.geometry().length() if(j<=n): if(i[idlin]=j[idlin]): etc. etc. ...Ma poi il problema persiste perchè questa volta j, essendo un int, non mi permette di scorrere le geometrie del layer. Spero di essere stata sufficientemente chiara e di aver esposto bene il problema. Sarò grata a chiunque riesca ad aiutarmi. Sara -- Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html _______________________________________________ QGIS-it-user mailing list QGIS-it-user@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/qgis-it-user