Salut à toutes et à tous,
Soit la requête SQL suivante qui me permet de trouver les points qui ont un PCode différent et qui sont à moins de 5cm de distance :
La requête fonctionne bien mais j'aimerais l'améliorer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT tmp_flv_2795.nopoint :: integer, tmp_flv_2795.pcode, tmp.nopoint :: integer, tmp.pcode FROM tmp_flv_2795 INNER JOIN tmp_flv_2795 AS tmp ON tmp_flv_2795.pcode <> tmp.pcode AND st_dwithin(tmp_flv_2795.pointgeom, tmp.pointgeom, 0.05) ORDER BY tmp_flv_2795.nopoint :: integer, tmp.nopoint :: integer;
Pourquoi ?
Sur une table de 22000 points, j'ai 282 points qui sortent.
Toutefois, ces points sont "groupés". Il y en a toujours minimum 2, mais parfois plus.
En effet, si le point 55 est à 4cm du point 67 et avec un PCode différent, je vais avoir le point 55 qui va sortir, mais aussi le point 67, ce qui est normal. Et il y a peut-être un 3ème point, un 4ème ou un 25ème point dans le même "spot".
Comment pourrais-je numéroter (ou toute autre façon de les distinguer), les différents "spots" où plusieurs points sont dans le même rayon et avec au moins 2 Pcodes différents dans le "tas" de points ?
Merci de vos z'avis z'avisés,
JM
Partager