Supongo que tiene muchos puntos y necesita resultados rápidos; de lo contrario, puede usar casi cualquier cosa.
Me parece un trabajo de reducción de mapas
La parte del mapa sería un bucle "para cada punto no visitado" y debería emitir una construcción de datos que contenga vecinos, grupos de candidatos y cualquier otra cosa. En caso de que el punto se clasifique como ruido, no debería emitir nada.
La expansión del clúster se reducirá y posiblemente finalizará parte; también la elección del idioma sería javascript y todo sucedería dentro de mongo