Regrouper les points de la carte en tailles de cluster fixes?

10

J'ai un ensemble de données de 655 paires lat / long que je voudrais diviser en environ 100 groupes. Un groupe doit avoir 5 à 10 paires géographiquement proches les unes des autres. Les groupes denses devraient avoir plus de points, les groupes clairsemés devraient en avoir moins. Par exemple, les groupements urbains devraient être plus grands, les groupements ruraux plus petits.

Existe-t-il un algorithme établi pour effectuer ce type de regroupement, ou vais-je devoir en concevoir un à partir de zéro?

J'utilise l'api de google maps v3 pour afficher ces données, mais comme il s'agit d'un ensemble de données fixe, je suis prêt à effectuer des calculs hors ligne.

Graeme Hilton
la source
4
Une multitude d'options devient disponible lorsque vous êtes prêt à quitter le confort de votre SIG pour effectuer des analyses spécialisées ou sophistiquées comme celle-ci. Par exemple, consultez toutes les solutions de clustering disponibles avec R . (D'autres packages de statistiques offrent également de nombreuses solutions de clustering.) Il ne faut pas beaucoup de facilité Rpour les utiliser non plus: vous devez apprendre à lire vos coordonnées, appliquer une routine de clustering et écrire ses résultats (si nécessaire) dans un fichier que votre SIG peut post-traiter.
whuber
Pouvez-vous être explicite dans les définitions de la taille?
raphael

Réponses:

11

vous pouvez consulter l'algorithme de clustering k-means ici .

En exploration de données, le clustering k-means est une méthode d'analyse de cluster qui vise à partitionner n observations en k clusters dans lesquels chaque observation appartient au cluster avec la moyenne la plus proche. Cela se traduit par un partitionnement de l'espace de données en cellules Voronoi.

Implémentation de kmeans-postgresql ici .. et je viens de rencontrer ce sujet clustering spatial avec PostGIS, vous pouvez vérifier ici à partir de @Mike Toews avec la fonction ST_MinimumBoundingCircle ..

mikey


kmeans

Aragon
la source