Message posté par : PY Joubert
----------------------------------------
Re,
Voici la fonction que j'ai faite et reste à améliorer
-----------------
Code :
# Retourne une liste d'id d'objets touchés
# Arg1 : Nom du layer à parcourir
# Arg2 : Nom du layer où il y a l'objet de référence
# Arg3 : Liste des PREDICATS
# Arg 4 : destination (y compris couche mémoire)
# Res : Liste des objets trouvés
def WBO_BD_ParcourirSurface (a_chercher,reference,list_predict,destination):
liste_res = []
layers = QgsProject.instance().mapLayersByName(reference)
layerref = layers[0]
fichierref =
GL_FICHIERS.WBO_FICHIER_SelectionDansShape(layerref,"c:/temp",(reference +
"_Select"))
GL_LAYER.WBO_LAYER_CoucheAjouter(fichierref,(reference + "_Select"))
reflayers = QgsProject.instance().mapLayersByName((reference +
"_Select"))[0]
layers = QgsProject.instance().mapLayersByName(a_chercher)
layer2 = layers[0]
params =
{"INPUT":reflayers,"INTERSECT":layer2,"PREDICATE":list_predict,"OUTPUT":destination}
res = processing.run('native:extractbylocation', params)["OUTPUT"]
GL_LAYER.WBO_LAYER_CoucheEnlever((reference + "_Select"))
QgsProject.instance().addMapLayer(res)
for feature in res.getFeatures():
print(feature)
liste_res.append(feature)
return(liste_res)
-----------------
Pour info,
- WBO_FICHIER_SelectionDansShape prend le sélection et la met dans un fichier shape
- WBO_LAYER_CoucheAjouter charge ce fichier shape
- WBO_LAYER_CoucheEnlever enlève la couche
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=364782#p364782
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