[Gfoss] percorsi relativi nelle azioni

Salve,
ultimamente mi trovo ad utilizzare frequentemente le azioni per aprire immagini collegate a ciascun record di uno strato informativo, ho creato un campo nel quale vado ad inserire il percorso assoluto di ubicazione delle immagini, e fin qua tutto bene, ossia le immagini si aprono correttamente mediante l’azione creata; ho provato poi a popolare il medesimo campo delle url con dei percorsi relativi, in questo caso l’azione non funziona. Ecco di seguito le ubicazione del progetto qgis, dello shape e delle imagini:
c:\butta = ubicazione qgs e shape file
c:\butta\immagini = ubicazione immagini
percorso immagine “funzionante” (assoluto) per un record : c:\butta\immagini\tav_01.jpg
percorso immagine “non funzionante” (relativo) per un record : .\butta\immagini\tav_01.jpg
Ho poi provato ad utilizzare il plugin Evis, verificando che invece supporta anche i percorsi relativi…
Ho sbagliato qualcosa io oppure è confermato il non funzionamento dei percorsi relativi nelle azioni?
Io ho utilizzato Qgis r15055 su una macchina con WinXP

Grazie a tutti,
marco


dott. Marco Zanieri
e-mail: marcozanieri@gmail.com

cartografia tematica
banche dati territoriali
sistemi informativi geografici
applicazioni GIS e webGIS

Salve Marco,

2011/1/24 marco zanieri <marcozanieri@gmail.com>

c:\butta = ubicazione qgs e shape file
c:\butta\immagini = ubicazione immagini
percorso immagine “funzionante” (assoluto) per un record : c:\butta\immagini\tav_01.jpg
percorso immagine “non funzionante” (relativo) per un record : .\butta\immagini\tav_01.jpg

tali percorsi sono dei percorsi relativi, ma a cosa?
Potresti scrivere anche il comando che usi nell’azione?

Saluti.


Giuseppe Sucameli

---------- Messaggio inoltrato ----------
Da: marco zanieri <marcozanieri@gmail.com>
Date: 25 gennaio 2011 11:42
Oggetto: Re: [Gfoss] percorsi relativi nelle azioni
A: Giuseppe Sucameli <sucameli@faunalia.it>

Ciao Giuseppe,

tali percorsi sono dei percorsi relativi, ma a cosa?

.\butta\immagini\tav_01.jpg l’ho considerato relativo rispetto all’ubicazione del progetto di qgis (c:\butta)

Potresti scrivere anche il comando che usi nell’azione?

ora sono su di un altro pc senza qgis comunque l’azione è circa:
“percorso eseguibile apertura immagini” “%campo con il percorso immagini”

Il giorno 25 gennaio 2011 11:17, Giuseppe Sucameli <sucameli@faunalia.it> ha scritto:

Salve Marco,

2011/1/24 marco zanieri <marcozanieri@gmail.com>

c:\butta = ubicazione qgs e shape file
c:\butta\immagini = ubicazione immagini
percorso immagine “funzionante” (assoluto) per un record : c:\butta\immagini\tav_01.jpg
percorso immagine “non funzionante” (relativo) per un record : .\butta\immagini\tav_01.jpg

tali percorsi sono dei percorsi relativi, ma a cosa?
Potresti scrivere anche il comando che usi nell’azione?

Saluti.


Giuseppe Sucameli


dott. Marco Zanieri
e-mail: marcozanieri@gmail.com

cartografia tematica
banche dati territoriali
sistemi informativi geografici
applicazioni GIS e webGIS


dott. Marco Zanieri
e-mail: marcozanieri@gmail.com

cartografia tematica
banche dati territoriali
sistemi informativi geografici
applicazioni GIS e webGIS

Ciao,

Ciao Giuseppe,
tali percorsi sono dei percorsi relativi, ma a cosa?
.\butta\immagini\tav_01.jpg l'ho considerato relativo rispetto
all'ubicazione del progetto di qgis (c:\butta)
Potresti scrivere anche il comando che usi nell'azione?
ora sono su di un altro pc senza qgis comunque l'azione è circa:
"percorso eseguibile apertura immagini" "%campo con il percorso
immagini"

probabilmente dovrá essere relativo all'ubicazione dell'eseguibile del
programma che usi nell'azione.

-- Giovanni --

---------- Messaggio inoltrato ----------
Da: marco zanieri <marcozanieri@gmail.com>
Date: 25 gennaio 2011 14:51
Oggetto: Re: [Gfoss] Fwd: percorsi relativi nelle azioni
A: giovanni.manghi@gmail.com

verissimo…ho provato ad inserire il percorso relativo rispetto all’ubicazione del programma di apertura delle immagini e tutto funziona correttamente…
GRAZIE MILLE

marco

Il giorno 25 gennaio 2011 12:18, Giovanni Manghi <giovanni.manghi@gmail.com> ha scritto:

Ciao,

Ciao Giuseppe,
tali percorsi sono dei percorsi relativi, ma a cosa?
.\butta\immagini\tav_01.jpg l’ho considerato relativo rispetto
all’ubicazione del progetto di qgis (c:\butta)
Potresti scrivere anche il comando che usi nell’azione?
ora sono su di un altro pc senza qgis comunque l’azione è circa:
“percorso eseguibile apertura immagini” “%campo con il percorso
immagini”

probabilmente dovrá essere relativo all’ubicazione dell’eseguibile del
programma che usi nell’azione.

– Giovanni –


dott. Marco Zanieri
e-mail: marcozanieri@gmail.com

cartografia tematica
banche dati territoriali
sistemi informativi geografici
applicazioni GIS e webGIS


dott. Marco Zanieri
e-mail: marcozanieri@gmail.com

cartografia tematica
banche dati territoriali
sistemi informativi geografici
applicazioni GIS e webGIS

Salve a tutti,

“percorso eseguibile apertura immagini” “%campo con il percorso
immagini”

ho appena provato ad eseguire su Ubuntu un’azione del tipo
gedit text.txt
ed ho avuto come risultato l’apertura in modifica del file ~/text.txt
Per chi non conoscesse linux, ~ è la home dell’utente, quindi, almeno su linux il
risultato è che il path da inserire deve essere relativo alla home dell’utente.

Credo sia uguale anche su windows, quindi nel tuo caso (WinXP) dovrebbe essere:
…/…/butta/immagini/tav_01.jpg
Non ne sono sicuro però, ci sarebbe da provare.

La migliore soluzione di certo sarebbe poter usare un path relativo al layer.

Saluti.

2011/1/25 Giovanni Manghi <giovanni.manghi@gmail.com>

– Giovanni –


Iscriviti all’associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e’ una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell’Associazione GFOSS.it.
496 iscritti al 24.1.2011


Giuseppe Sucameli

Salve a tutti,

2011/1/25 marco zanieri <marcozanieri@gmail.com>

comunque è vero che la soluzione migliore sarebbe quella del path relativo al layer o forse meglio all’ubicazione del progetto…

ho smanettato un pò con python (fare codice python non indentato è un problema),
ed eccovi le soluzioni.

Basterà usare i successivi pezzi di codice come azioni python modificando il valore
della variabile command (“eog”, Eye Of Gnome, è il mio visualizzatore di immagini) e
della variabile imagerelpath con il campo da cui prendere il percorso.

Path relativo al layer selezionato
(funziona sia con layer vettoriali basati su file che quelli su db spatialite)

command = “eog”; imagerelpath = “immagini/tav_01.jpg”; layer = qgis.utils.iface.activeLayer(); import os.path; layerpath = layer.source() if layer.providerType() == ‘ogr’ else (qgis.core.QgsDataSourceURI(layer.source()).database() if layer.providerType() == ‘spatialite’ else None); path = os.path.dirname(str(layerpath)); image = os.path.join(path, imagerelpath); import subprocess; subprocess.Popen( [command, image ] );

Se il layer non è di tipo ogr né spatialite restituisce un errore.

Path relativo al progetto
(relativo al percorso nel quale è stato salvato il progetto attualmente aperto)

command = “eog”; imagerelpath = “immagini/tav_01.jpg”; projectpath = qgis.core.QgsProject.instance().fileName(); import os.path; path = os.path.dirname(str(projectpath)) if projectpath != ‘’ else None; image = os.path.join(path, imagerelpath); import subprocess; subprocess.Popen( [command, image ] );

Se il progetto attuale non è salvato restituisce un errore.

Spero possano esservi utili :wink:
Saluti.

Il giorno 25 gennaio 2011 15:43, Giuseppe Sucameli <sucameli@faunalia.it> ha scritto:

Salve a tutti,

“percorso eseguibile apertura immagini” “%campo con il percorso
immagini”

ho appena provato ad eseguire su Ubuntu un’azione del tipo
gedit text.txt
ed ho avuto come risultato l’apertura in modifica del file ~/text.txt
Per chi non conoscesse linux, ~ è la home dell’utente, quindi, almeno su linux il
risultato è che il path da inserire deve essere relativo alla home dell’utente.

Credo sia uguale anche su windows, quindi nel tuo caso (WinXP) dovrebbe essere:
…/…/butta/immagini/tav_01.jpg
Non ne sono sicuro però, ci sarebbe da provare.

La migliore soluzione di certo sarebbe poter usare un path relativo al layer.

Saluti.

2011/1/25 Giovanni Manghi <giovanni.manghi@gmail.com>

– Giovanni –


Iscriviti all’associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e’ una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell’Associazione GFOSS.it.
496 iscritti al 24.1.2011


Giuseppe Sucameli


dott. Marco Zanieri
e-mail: marcozanieri@gmail.com

cartografia tematica
banche dati territoriali
sistemi informativi geografici
applicazioni GIS e webGIS


Giuseppe Sucameli