Presumo che tu abbia molti punti e abbia bisogno di risultati velocemente, altrimenti puoi usare quasi tutto.
Mi sembra un lavoro di riduzione della mappa
La parte della mappa sarebbe un ciclo "per ogni punto non visitato" e dovrebbe emettere un costrutto di dati contenente vicini, cluster candidati e quant'altro. Se il punto è classificato come rumore, non dovrebbe emettere nulla.
L'espansione del cluster dovrebbe ridurre e possibilmente finalizzare una parte - anche la scelta della lingua sarebbe javascript e tutto accadrebbe all'interno di mongo