QGIS creare una funzione per controllare esistenza di un file

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

QGIS creare una funzione per controllare esistenza di un file

Totò
Ciao a tutti,
ho un problema che non riesco a risolvere in quanto non ho conoscenze
avanzate di programmazione python.

oggetto:
campo testuale popolato con percorsi (relativi/ assoluti) di file immagine,
es: 'miofile_01.png'

problema:
alcune volte nasce l'esigenza di popolare un campo, tramite il calcolatore
di campi, in modo automatico quindi puo' accadere che 'miofile_099.png' NON
esista ma il calcolatore di campi non lo sa e quindi scrive ugualmente
'miofile_099.png'. Il fatto che scriva un percorso che non esiste NON è un
problema ma diventa tale non appena si richiama il valore del campo stesso.

Vorrei creare una funzione, da usare nel calcolatore di campi, che
controllasse l'esistenza del file per poi poterla usare in una condizione
tipo:

CASE WHEN  controlloFile("campo") is TRUE THEN 1 else 0 END

questa esigenza nasce nel compositore di stampe per evitare che compaia una
X rossa al posto dell'immagine che non esiste o che ha un percorso errato.

ho fatto delle ricerche e ho trovato una risposta di Nyall che suggerisce di
usare python ma non da la soluzione:
https://lists.osgeo.org/pipermail/qgis-user/2016-October/038212.html

grazie



-----
https://pigrecoinfinito.wordpress.com/
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html
_______________________________________________
QGIS-it-user mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/qgis-it-user
Reply | Threaded
Open this post in threaded view
|

Re: QGIS creare una funzione per controllare esistenza di un file

giulianc
On 11/17/17, Totò <[hidden email]> wrote:
> Ciao a tutti,

ciao,

> ho un problema che non riesco a risolvere in quanto non ho conoscenze
> avanzate di programmazione python.
>.......

credo dipenda dalla conoscenza o meno della cartella del file o se
vuoi cercare nell'intero file system, cmq qui puoi forse cominciare la
tua ricerca:
https://stackoverflow.com/questions/82831/how-do-i-check-whether-a-file-exists-using-python

> grazie

grazie a te, ciao,
giuliano
_______________________________________________
QGIS-it-user mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/qgis-it-user
Reply | Threaded
Open this post in threaded view
|

Re: QGIS creare una funzione per controllare esistenza di un file

Totò
giulianc wrote
> On 11/17/17, Totò &lt;

> pigrecoinfinito@

> &gt; wrote:
>> Ciao a tutti,
>
> ciao,
>
>> ho un problema che non riesco a risolvere in quanto non ho conoscenze
>> avanzate di programmazione python.
>>.......
>
> credo dipenda dalla conoscenza o meno della cartella del file o se
> vuoi cercare nell'intero file system, cmq qui puoi forse cominciare la
> tua ricerca:
> https://stackoverflow.com/questions/82831/how-do-i-check-whether-a-file-exists-using-python
>
>> grazie
>
> grazie a te, ciao,
> giuliano

wow,
grazie Giuliano per il link.

Credo di aver risolto, ecco la funzione da usare nel calcolatore di campi di
QGIS
NOME FUNZIONE: controlla:

from qgis.core import *
from qgis.gui import *
from  os.path import *

@qgsfunction(args='auto', group='Custom')
def controlla(value1, feature, parent):
    return os.path.exists(value1)

usata nel compositore di stampe:

CASE WHEN  controlla(   @project_folder  || '/' || "path_armatura"  ) is
false THEN 1 else 0 END

FUNZIONA!!!







-----
https://pigrecoinfinito.wordpress.com/
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html
_______________________________________________
QGIS-it-user mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/qgis-it-user
Reply | Threaded
Open this post in threaded view
|

Re: QGIS creare una funzione per controllare esistenza di un file

Totò