대량 좌표의 클러스터 처리 관련 문의드립니다

아… 네 이제 이해했습니다.
결국 카카오 지도 API에 구현된 클러스터링 방식을 질문하신 것이었군요.

클러스터링 방식은 여러가지가 있고
상황에 따라 여러가지를 섞어 쓸 수 있는 것으로 알고 있습니다.

카카오의 클러스터러가 클러스터링 하는 방식은
매우 단순한 알고리즘으로 되어 있습니다.

마커들의 배열을 받는데
마커들을 순차적으로 돌면서 클러스터를 생성합니다.

var clusters = [] // 구성된 클러스터들을 가지고 있을 배열
for marker of markers
    if marker.getPosition() 이 이미 구성된 clusters 들 중 하나의 영역에 포함되었다면 :
        (마커가 포함된 cluster).addMarker(marker)
    else clusters에 존재하는 모든 cluster에 속하지 않는다면 :
        var newCluster = new Cluster()
        newCluster.addMarker(marker)
        clusters.push(newCluster)

배열 낮은 인덱스부터 돌기 때문에
대부분 배열 앞쪽의 마커들이 클러스터링의 seed가 됩니다.
이 방식은 markers 배열을 구성하는 단계에서 가중치가 높은 marker를 앞쪽에 배치하면
좋은 클러스터링 형상을 얻을 수 있습니다.
다만 생성 시간이 n^2 일 가능성이 있으므로
이 부분에서는 효율적인 알고리즘이라고 볼 수는 없습니다.

이 모든 과정이 클라이언트 사이드에서 진행되고 있으므로
마커의 갯수가 많게 되면 클라이언트의 부하가 많아질 것이 분명합니다.
때문에 서버에서 계산하거나 혹은 미리 클러스터링 된 데이터를 받아서
클라이언트에 넘겨주면 클러스터러를 사용하지 않아도 되며
좋은 성능을 보장할 수 있습니다.

클러스터링 알고리즘은
여러가지 방식이 있으므로
직접 구현하신다면
가지고 계신 데이터 특성에 따라 효율적인 방식을 채택해 구현하시면 될 것이라 생각합니다.