Ciao a tutti,
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.
Ammesso che mi sia riuscita a spiegare vi allego parte dello script
import sys,os,string
import processing
folder = ‘C:\Dati_geografici\Particelle catastali\Catastale’
lista_folder = (os.listdir(folder))
for sub_folder in lista_folder:
new_folder = folder+‘\’+sub_folder
lista_shp = (os.listdir(new_folder))
for shp in lista_shp:
if string.find(shp,‘particella.shp’) >=0:
MANCA FUNZIONE PER CONTROLLARE L’ESTENSIONE DEL LAYER
qgis.utils.iface.addVectorLayer(shp,shp,“ogr”)
cercando tra le API di qgis ho visto che esiste questa classe QgsVectorLayer 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.
Altro problema il caricamento del layer nella toc mediante addVectorLayer mi restituisce questo errore “Il layer non è valido: Il layer D197__particella.shp non è valido e non può essere aggiunto alla mappa” che nonc apisco da cosa dipenda.
Grazie in anticipo!