Salve a tutti
sto scrivendo uno script da poter utilizzare nell’ambiente processing di QGIS
la domanda è: è possibile salvare in una stringa o conoscere il percorso del file che viene inserito durante la sezione che vi riporto in basso?
def initAlgorithm(self, config=None):
self.addParameter(QgsProcessingParameterRasterLayer(
self.INPUT,
self.tr(‘Input linear stack’),
None,
False))
def processAlgorithm(
self,
parameters,
context,
feedback):
stackIn = self.parameterAsRasterLayer(
parameters,
self.INPUT,
context)
#etc
In pratica, è possibile salvare in una variabile stringa il percorso del file della variabile stackIn??
Grazie
Giacomo Fontanelli-2 wrote
Salve a tutti
stackIn = self.parameterAsRasterLayer(
parameters,
self.INPUT,
context)
#etc
In pratica, è possibile salvare in una variabile stringa il percorso del
file della variabile stackIn??
Ciao Giacomo,
parameterAsRasterLayer dovrebbe restituire un oggetto di tipo QgsRasterLayer
[1]. Quindi dovresti poter estrarre l'URI del layer usando
.dataProvider().dataSourceUri() [2].
Hai provato?
A presto.
Andrea
[1]
https://qgis.org/pyqgis/3.16/core/QgsProcessingParameters.html#qgis.core.QgsProcessingParameters.parameterAsRasterLayer
[2]
https://qgis.org/pyqgis/3.16/core/QgsRasterLayer.html#qgis.core.QgsRasterLayer.dataProvider
-
https://qgis.org/pyqgis/3.16/core/QgsDataProvider.html#qgis.core.QgsDataProvider.dataSourceUri
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html
Ho provato e funziona
in verità avevo risolto anche aggiungendo la variabile pathStackIn, ma la tua soluzione è più elegante
Grazie
stackIn = self.parameterAsRasterLayer(
parameters,
self.INPUT,
context)
pathStackIn = self.parameterAsString(
parameters,
self.INPUT,
context)
Il giorno mar 1 giu 2021 alle ore 13:17 Andrea Giudiceandrea <andreaerdna@libero.it> ha scritto:
Giacomo Fontanelli-2 wrote
Salve a tutti
stackIn = self.parameterAsRasterLayer(
parameters,
self.INPUT,
context)
#etc
In pratica, è possibile salvare in una variabile stringa il percorso del
file della variabile stackIn??
Ciao Giacomo,
parameterAsRasterLayer dovrebbe restituire un oggetto di tipo QgsRasterLayer
[1]. Quindi dovresti poter estrarre l’URI del layer usando
.dataProvider().dataSourceUri() [2].
Hai provato?
A presto.
Andrea
https://qgis.org/pyqgis/3.16/core/QgsDataProvider.html#qgis.core.QgsDataProvider.dataSourceUri
–
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html
QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user