Tengo un conjunto de datos de 655 pares de lat / long que me gustaría dividir en unos 100 grupos. Un grupo debe tener 5-10 pares que están geográficamente cerca uno del otro. Los grupos densos deberían tener más puntos, los grupos dispersos deberían tener menos. Por ejemplo, las agrupaciones urbanas deben ser más grandes, las rurales más pequeñas.
¿Existe un algoritmo establecido para hacer este tipo de agrupación, o tendré que diseñar uno desde cero?
Estoy usando la API de Google Maps v3 para mostrar estos datos, pero como se trata de un conjunto de datos fijo, estoy preparado para hacer algunos cálculos de números sin conexión.
geoprocessing
algorithm
google-maps-api
clustering
Graeme Hilton
fuente
fuente
R
para usarlos: debe aprender a leer sus coordenadas, aplicar una rutina de agrupación y escribir sus resultados (si es necesario) a un archivo que su SIG puede procesar posteriormente.Respuestas:
Puede consultar el algoritmo de agrupación de k-means aquí .
Implementación de kmeans-postgresql aquí ... y acabo de conocer este tema Agrupación espacial con PostGIS, puede consultar aquí desde @Mike Toews con la función ST_MinimumBoundingCircle ...
fuente