Message posté par : G. Navennec (gabriel.navennec(a)yahoo.fr)
----------------------------------------
Bonjour,
Je suis en train de coder un petit script avec comme données en entrée une couche et deux
de ses champs :
-----------------
Code :
class Test(QgsProcessingAlgorithm):
def initAlgorithm(self, config=None):
self.addParameter(QgsProcessingParameterVectorLayer('couche',
'couche', types=[QgsProcessing.TypeVectorPoint], defaultValue=None))
self.addParameter(QgsProcessingParameterField('X', 'X',
type=QgsProcessingParameterField.Numeric, parentLayerParameterName='couche',
allowMultiple=False, defaultValue=''))
self.addParameter(QgsProcessingParameterField('Z', 'Z',
type=QgsProcessingParameterField.Numeric, parentLayerParameterName='couche',
allowMultiple=False, defaultValue=''))
self.addParameter(QgsProcessingParameterField('Y', 'Y',
type=QgsProcessingParameterField.Numeric, parentLayerParameterName='couche',
allowMultiple=False, defaultValue=''))
self.addParameter(QgsProcessingParameterFeatureSink('Resultat',
'resultat', type=QgsProcessing.TypeVectorPoint, createByDefault=True,
defaultValue=None))
-----------------
Pour la suite du traitement j'ai besoin de récupérer le chemin de la couche en entrée.
Dans mon souvenir, il suffisait d'appeler l'entrée correspondante dans le
dictionnaire
-----------------
Code :
chemin = parameters['couche']
-----------------
D'ailleurs au démarrage du script, dans le journal j'ai bien ceci
-----------------
Code :
Paramètres en entrée:
{ 'X' : 'X', 'Y' : 'Y', 'couche' :
'C:/Users/Desktop/dossier/exemple.shp' }
-----------------
Pourtant cela ne fonctionne pas : le script plante et quand je me renvoie
parameters['couche'] dans un log, j'obtient pour seul résultat une chaine de
caractère comme ça : exemple_15b7ff9b_ce41_43g1_8be5_t5t947b74ef9
J'ai raté quelque chose ?
Une idée pour récupérer le chemin de ma couche sur une variable ?
Dites moi si jamais il vous faut plus d'infos
Merci d'avance !
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=353320#p353320
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net