Message posté par : Nicolas Ribot
----------------------------------------
Bonjour,
Plusieurs choses ne vont pas dans votre requête:
• si vous voulez tester vos buffers à 50m près, pas la peine de créer un buffer à 50m:
utilisez plutot st_dwithin(geom, 50): c'est beaucoup plus rapide.
• En faisant "select geom ... limit 1" dans votre requête, vous ne prenez
qu'un élément de la table
• Vous faites appel à la table anthro.tmp_act_orp_buf_500m pour les attributs: quel est
son lien avec la table tmp_buf_500m ?
S'il s'agit de trouver les objets à moins de 50m les uns des autres dans la même
table, il faut faire un self join sur la table:
-----------------
Code :
select a.id as idA, b.id as idB
from matable a join matable b on a.id < b.id and st_dwithin(a.geom, b.geom, 50);
-----------------
Je vous invite à réviser la structure de la commande UPDATE: quand plusieurs tables sont
en jeu, vous pouvez écrire:
-----------------
Code :
UPDATE matable set macol = ....
from autretable
where matable.col = autretable.col...
-----------------
Nicolas
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=346292#p346292
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