<div dir="ltr">Ciao a tutti,<div><br></div><div>sto provando a creare uno script nella console di qgis che come prima cosa estragga da ciascuna cartella lo shape chiamato "particella.shp" e poi esegua un controllo sull'estensione del layer per verificare se è all'interno della provincia che mi interessa oppure no, nel primo caso vorrei che il layer venisse aggiunto nella toc altrimenti scartato.</div><div>Ammesso che mi sia riuscita a spiegare vi allego parte dello script</div><div><br></div><div><div><b><font color="#000000">import sys,os,string</font></b></div><div><b><font color="#000000">import processing</font></b></div><div><b><font color="#000000"><br></font></b></div><div><b><font color="#000000"><br></font></b></div><div><b><font color="#000000">folder = 'C:\\Dati_geografici\\Particelle catastali\\Catastale'</font></b></div><div><b><font color="#000000">lista_folder = (os.listdir(folder))</font></b></div><div><b><font color="#000000"><br></font></b></div><div><b><font color="#000000">for sub_folder in lista_folder:</font></b></div><div><b><font color="#000000">    new_folder = folder+'\\'+sub_folder</font></b></div><div><b><font color="#000000">    lista_shp =  (os.listdir(new_folder)) </font></b></div><div><b><font color="#000000">    </font></b></div><div><b><font color="#000000">    for shp in lista_shp:</font></b></div><div><b><font color="#000000">        if string.find(shp,'particella.shp') >=0:</font></b></div><div><b><font color="#000000">      <i> MANCA FUNZIONE PER CONTROLLARE L'ESTENSIONE DEL LAYER</i></font></b></div><div><b><font color="#000000">            qgis.utils.iface.addVectorLayer(shp,shp,"ogr")</font><br></b></div></div><div><i><font color="#0b5394"><br></font></i></div><div><br></div><div>cercando tra le API di qgis ho visto che esiste questa classe <b>QgsVectorLayer </b>che tra le varie cose calcola anche l'extent ma non so come richiamarla e soprattutto quale operatore di contronto usare per verificare che il mio layer cada dentro un determinato extent.</div><div>Altro problema il caricamento del layer nella toc mediante addVectorLayer mi restituisce questo errore "<span style="font-weight:600">Il layer non è valido: </span>Il layer D197__<font color="#000000">particella</font>.shp non è valido e non può essere aggiunto alla mappa" che nonc apisco da cosa dipenda.</div><div><br></div><div>Grazie in anticipo!</div></div>