Message posté par : Paul QUESNOT
----------------------------------------
-----------------
SANTANNA écrit :
Bonjour,
L'algorithme "Géométrie par expression
(
https://docs.qgis.org/3.16/fr/docs/user_manual/processing_algs/qgis/vectorg…)
" devrait permettre cela, sans même passer par NNjoin. Le code ci-après place le
point sur le pourtour de la zone aquatique, à l'endroit le plus proche. Les
commentaires sont à lire de l'intérieur vers le haut (et l'aide de chacune des
fonctions est recommandée pour mieux comprendre ce qui se passe).
-----------------
Code :
closest_point(
exterior_ring( -- récupère le pourtour de la zone surface
geom_from_wkt( -- texte que l'on reconvertit en géométrie (je n'ai pas trouvé
comment éviter l'encodage/décodage de géométrie)
array_to_string( -- on convertit la liste en texte
overlay_nearest('macouchepolygone', geom_to_wkt($geometry)) -- on
récupère le texte de la géométrie polygonale la plus proche, sous forme de liste à valeur
unique
)
)
),
$geometry -- la géométrie point qu'on veut "déplacer"
)
-----------------
-----------------
Bonjour, il me semble que vous pouvez faire plus simple
-----------------
Citation :
closest_point(
overlay_nearest('macouchepolygone',$geometry)[0] -- on récupère la géométrie la
plus proche de mon entité courante
,
$geometry -- la géométrie point qu'on veut "déplacer"
)
-----------------
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=346698#p346698
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