Hola,
Tengo una tabla a continuación. Quiero encontrar la distancia de cada punto de índice del resto de los puntos de índice en el mismo grupo formado por la combinación de Etiqueta1 y Etiqueta2. Para cada grupo (como U1, S1) hay tres puntos de índice en la siguiente tabla. Necesito calcular la distancia del punto 1 de 2 y 3, 2 de 1 y 3 y 3 de 1 y 2 usando las coordenadas X,Y. De manera similar se debe calcular la distancia de cada punto del resto de puntos dentro del grupo para otros grupos, así como (U1,S2), (U2,S1) y (U2,S2). La distancia redundante en el mismo grupo se puede eliminar, ya que la distancia del punto 1 al 2 es la misma que la del punto 2 al 1.
Mi tabla original tiene varias Etiqueta1 (U1,U2,...,U10) y Etiqueta2 (S1,S2,...S10). ¿Cómo puedo escribir un script de salto (jsl) que lea una tabla como la siguiente y cree una columna de distancias en la misma tabla o en una tabla nueva? En última instancia, estoy intentando encontrar los 50 vecinos más cercanos para cada punto de índice dentro del mismo grupo (Un,Sn)
Agradeceré mucho cualquier orientación. Gracias.

Verificar KDTable de Scripting Index para empezar
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);
o Distancia :
Names Default To Here(1);
exX1 = [1 2, 3 4, 5 6];
/*Compute squared Euclidean distance*/
exD = Distance(exX1, exX1);
//sqrt(exD);