Bonjour,

J'ai une série de coordonnées(latitudes et longitudes) stockés dans une base de données.

Le but: Faire la moyenne du nuage de points.

Lorsque j'ai qu'une seule zone de coordonnés proches, rien de difficile: Il suffit d’additionner les coordonnées et de diviser le résultat par leur nombre.
(43,1);(42,1.5);(41,1.2);(41.3,1.5);

Xm = (x1,x2,x3,x4)/4
Ym = (y1,y2,y3,y4)/4

Mais, parmi cette série il y a une brebis galeuse:
(43,1);(42,1.5);(141,1.2)*;(41,1.2);(41.3,1.5);

Pour la détecter, je pense fonctionner sur un système de pourcentage(X/Ym +- 20%).

Maintenant admettons qu'il y ait plusieurs zones éloignés avec des points proches et des solo:
(41.3,101.5);(442,10.5);(43,1);(142,10.5);(42,1.5);(42,101.5);(141,10.2);(41,1.2);(41.3,1.5);(41,101.2);(41.3,101.5);(141.3,10.5);(12,342.5);

Si je fais une moyenne globale, cela va donner un point moyen sans intérêts.

Je cherche à faire un algo qui puisse séparer intelligemment les groupes afin de pouvoir calculer plusieurs points moyens et séparer les points solo:

Résultat:
g1=(43,1);(42,1.5);(41,1.2);(41.3,1.5);
g2=(42,101.5);(41,101.2);(41.3,101.5);
g3=(142,10.5);(141,10.2);(141.3,10.5);
solo1=(442,10.5);
solo2=(12,342.5);

Si quelqu'un a une idée sur la meilleure façon de procéder?

Merci!