Bonjour,
J'ai un tableau ci-dessous. Je veux trouver la distance de chaque point d'indexation par rapport au reste des points d'indexation dans le même groupe formé par la combinaison de Label1 & Label2. Pour chaque groupe (comme U1, S1), il y a trois points d'indice dans le tableau ci-dessous. J'ai besoin de calculer la distance du point 1 à partir de 2 et 3, 2 à partir de 1 et 3 et 3 à partir de 1 et 2 en utilisant les coordonnées X, Y. De même, la distance doit être calculée pour chaque point par rapport au reste des points du groupe pour d'autres groupes comme (U1,S2), (U2,S1) et (U2,S2). La distance redondante dans le même groupe peut être supprimée comme la distance du point 1 à partir de 2 est la même que 2 à partir de 1.
Ma table d'origine a plusieurs Label1 (U1,U2,...,U10) et Label2 (S1,S2,...S10). Comment puis-je écrire un script de saut (jsl) qui lit une table comme ci-dessous et crée une colonne de distances dans la même table ou une nouvelle table. En fin de compte, j'essaie de trouver les 50 voisins les plus proches pour chaque point d'index au sein du même groupe (Un,Sn)
J'apprécierai grandement toute orientation. Merci.

Vérifier KDTable de Scripting Index pour commencer
Names Default To Here(1);
tbl = KDTable([1 2, 3 4, 5 6]);
distance = tbl << Distance between rows(1, 2);
//distance from row 1 to row 2 is:
Show(distance);
{rows, dist} = tbl << K nearest rows(2);
Show(rows, dist);
ou Distance :
Names Default To Here(1);
exX1 = [1 2, 3 4, 5 6];
/*Compute squared Euclidean distance*/
exD = Distance(exX1, exX1);
//sqrt(exD);