Message posté par : SANTANNA
----------------------------------------
Bonjour,
Je me suis laissé tenter et vous propose quelque chose qui semble marcher. Ça se passe
totalement ou en partie dans l'algorithme "Géométrie par expression" (tout
dépend de si ce sont les géométries seules des bâtis qui vous intéressent ou leurs
attributs aussi).
La couche en entrée est celle des transects
le type de géométrie est polygone
L'expression à utiliser serait du genre
-----------------
Code :
with_variable( -- on va créer la liste des points d'intersection transect et bâtis
'id_polygones_superposes',
aggregate(
'couche_bati',
'collect',
expression:=intersection( boundary(@geometry), geometry(@parent) ), -- intersection entre
le linéaire extérieur des batis et le transect
filter:=intersects( @geometry, geometry(@parent) )
),
-- @id_polygones_superposes -- multipoint des inter transects et batis
-- closest_point(@id_polygones_superposes, start_point(@geometry)) -- si décommenté (et
la suite commentée), renvoie une couche des points d'inter les plus proches du point
de départ du transect
with_variable(
'point_proche',
closest_point(@id_polygones_superposes, start_point(@geometry)),
aggregate(
'couche_bati',
'collect',
@geometry,
intersects(buffer(@point_proche, 0.000001), @geometry) -- normalement touches
devrait suffire mais ça marchait pas des masses avec mon jeu de données donc on passe à
intersects avec une tolérance de mini buffer
)
)
)
-----------------
Si vous voulez les attributs des bâtis aussi ou souhaitez juste pouvoir sélectionner et
visualiser le résultat, vous pouvez limiter le code à la génération de la couche des
points les plus proches et utiliser une fonction overlay_nearest pour trouver les bâtis
les plus proches.
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=371807#p371807
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