Tengo un conjunto de datos de 655 lat/long pares que me gustaría dividir en alrededor de 100 grupos. Un grupo debe tener 5-10 pares que están geográficamente cerca el uno del otro. Grupos densos debería tener más puntos, dispersos grupos deben tener menos. Por ejemplo urbana agrupaciones deben ser más grandes, rurales más pequeñas.
Hay establecido un algoritmo para realizar este tipo de agrupación, o voy a tener que diseñar desde cero?
Estoy usando google maps api v3 para visualizar esta información, pero como es un fijo del conjunto de datos estoy preparado para hacer algo fuera de línea los números.