[QGIS-it-user] pyQgis: come verificare una gemetria id=X nel corso di un ciclo?

Giuliano Curti giulianc51 a gmail.com
Dom 6 Nov 2016 06:06:34 PST


On 11/6/16, Luca Mandolesi <mandoluca a gmail.com> wrote:
> Il giorno 6 novembre 2016 13:33, Giuliano Curti <giulianc51 a gmail.com> ha
> scritto:
>
>> On 11/6/16, Luca Mandolesi <mandoluca a gmail.com> wrote:
>
> mentre sono in un ciclo for e analizzo il campo di un record, come faccio a
> chiamare un altro record e caricarne la geometria.

rimango sempre nel dubbio di aver capito bene :-) questo spezzone di
codice cmq ti dà le due feature f1 e f2, le rispettive geometrie, le
confronta (scartando ovviamente il controllo
con sè stessa) e puoi accedere ad ogni altro loro attributo;

	for f1 in layer.getFeatures():
		......
		for f2 in layer.getFeatures():
			........
			if f2.id() <> f1.id():
				.........
				if f1.geometry().intersects(f2.geometry()):
					(controllo se l'attributo delle due feature è corretto)
					.......

NB: per il tuo caso forse è ridondante perchè confronta A con B e B
con A, mentre a te potrebbe bastare confrontare A con B, ad es.
modificando il test in
			if f2.id() > f1.id():
o qualche modo migliore che sapranno indicarti altri;

> Ciao
> Luca

ciao,
giuliano


Maggiori informazioni sulla lista QGIS-it-user