[Gfoss] [QGIS] Script per gestire i layer corrotti (=spostati in altro percorso) in Qgis

Amedeo Fadini amefad a gmail.com
Mer 17 Giu 2015 16:32:25 CEST


Salve a tutti,

una delle cose che capitano in ufficio da me è che si apre un progetto
e l si collega ad alcuni layer, poi man mano si mette ordine nei layer
e si spostano i layer in sottocartelle. Capita così che quando si
riapre il progetto ci si trova davanti la finestra di gestione dei
layer corrotti in cui viene richiesto di selezionare il nuovo percorso
per ciascuno dei layer indisponibili.

Non c'è problema se i layer sono pochi e sono stati spostati tutti
nella stessa cartella, ma se sono molti e sono stati spostati a gruppi
in cartelle diverse la procedura di apertura diventa complessa, lavoro
simile se un progetto che normalmente punta a dei layer sul server
deve puntare a layer in locale.

Con l'aiuto di Mattia che è qui in stage, stiamo cercando di fare un
piccolo script python che si occupi di sistemare questa cosa almeno
per i layer su filesystem: vi chiedo un piccolo aiuto se per voi
questo approccio può andare:

Soprattutto non ricordo se esiste già qualcosa di simile, dalla ML
italiana par di no.

1- leggere il file qgis con xml.ElementTree
2- creare una lista con tutti gli elementi <datasource>
3- verificare per ogni elemento se il file è accessibile e in caso
positivo eliminarlo dalla lista
4- chiedere all'utente di inserire vecchio percorso e nuovo percorso
5- Sostituire il vecchio percorso con nuovo percorso per tutti gli
elementi rimasti
6 ripetere i punti 3-5 finché tutti i file sono accessibili

Non credo si possa fare un plugin perché andrebbe applicato
all'apertura del progetto, ma intanto potremmo rilasciarlo come script
a riga di comando.

amefad


Maggiori informazioni sulla lista Gfoss