Message posté par : preliator
----------------------------------------
Bonjour,
Je dispose de 2 tables.
- La première, nommée Tab1, est un récapitulatif sans géométrie décrivant une commune de
départ et une commune d'arrivée avec leur code insee
Image :
https://zupimages.net/viewer.php?id=20/24/gkot.png
- La seconde, nommée Tab2, est une table géométrique de polygone de communes, comportant
les même codes insee que la première table.
Image :
https://zupimages.net/viewer.php?id=20/24/4pmz.png
Je voudrais, pour chaque ligne décrivant un départ et une arrivée de Tab1 avoir la
distance qui sépare les centroides des deux communes. Je me suis testé à un code qui
malheureusement dure indéfiniment. C'est l'autojointure de Tab2 qui doit mal se
passer :
-----------------
Code :
with tab1 as
(select commune, dcran
from migration
where commune <> dcran
group by commune, dcran)
select p.insee_com, t.insee_com, t.dist
from tab2 p cross join lateral(
select r.insee_com, st_centroid(p.geom) <-> st_centroid(r.geom) as dist
from tab2 r
order by st_centroid(p.geom) <-> st_centroid(r.geom)
limit 1) as t, tab1
where p.insee_com = commune and t.insee_com = dcran
-----------------
Merci.
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=333539#p333539
Pour y répondre : geobd(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