Message posté par : zack
----------------------------------------
Bonjour, et avec un peu de retard merci pour votre réponse !
Depuis j'essaye de trouver la solution par moi-même, j'ai lu "The PyQGIS
Programmer's Guide" de Gary Sherman, sans que ça ne m'éclaire
particulièrement, et j'ai parcouru une foultitude de forums à la recherche de ma
réponse.
J'en suis arrivé au code suivant, dans le but de récupérer l'entité au sein
d'une couche, mais malheuresement il me dit toujours "Impossible de charger la
couche source pour INPUT: valeur invalide"...
-----------------
Code :
def processAlgorithm(self, parameters, context, model_feedback):
# Use a multi-step feedback, so that individual child algorithm progress reports
are adjusted for the
# overall progress through the model
feedback = QgsProcessingMultiStepFeedback(1, model_feedback)
results = {}
outputs = {}
nonbati_layer = self.parameterAsLayer(parameters, 'nonbati', context)
features = nonbati_layer.getFeatures()
for feature in features :
feature_id = feature.id()
nonbati_layer.selectByIds([feature_id])
temp_layer = QgsVectorLayer("Polygon?crs=epsg=2154",
"temporary_polygons", "memory")
selection = nonbati_layer.selectedFeatures()
temp_data = temp_layer.dataProvider()
attr = nonbati_layer.dataProvider().fields().toList()
temp_data.addAttributes(attr)
temp_layer.updateFields()
temp_data.addFeatures(selection)
# Tampon
alg_params = {
'DISSOLVE': False,
'DISTANCE': 0.5,
'END_CAP_STYLE': 0,
'INPUT': temp_data,
'JOIN_STYLE': 0,
'MITER_LIMIT': 2,
'SEGMENTS': 5,
'OUTPUT': QgsProcessing.TEMPORARY_OUTPUT
}
outputs['Tampon'] = processing.run('native:buffer',
alg_params, context=context, is_child_algorithm=True)
#results['Sortie'] = outputs['Tampon']['OUTPUT']
# return results
feedback.setCurrentStep(1)
if feedback.isCanceled():
return {}
-----------------
Je reviens donc sur mon poste, voir si vous avez une solution, tout seul je n'y arrive
malheureusement pas ... merci d'avance !
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=322024#p322024
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