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.
geoprocessing
algorithm
google-maps-api
clustering
Graeme Hilton
la source
la source
R
pour 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.Réponses:
vous pouvez consulter l'algorithme de clustering k-means ici .
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 ..
la source