Raggruppare i punti della mappa in cluster di dimensioni fisse?


10

Ho un set di dati di 655 coppie lat / long che vorrei dividere in circa 100 gruppi. Un gruppo dovrebbe avere 5-10 coppie geograficamente vicine tra loro. I gruppi densi dovrebbero avere più punti, i gruppi sparsi dovrebbero avere meno. Ad esempio, i raggruppamenti urbani dovrebbero essere più grandi, quelli rurali più piccoli.

Esiste un algoritmo consolidato per fare questo tipo di raggruppamento o dovrò progettarne uno da zero?

Sto usando google maps v3 api per visualizzare questi dati, ma dato che si tratta di un set di dati fisso sono pronto a eseguire un crunching dei numeri offline.


4
Una vasta gamma di opzioni diventa disponibile quando sei disposto a lasciare il comfort del tuo GIS per fare analisi specializzate o sofisticate come questa. Ad esempio, controllare tutte le soluzioni di clustering disponibili con R . (Anche altri pacchetti di statistiche offrono molte soluzioni di clustering.) Non ci vuole molto Rper usarle neanche: devi imparare a leggere le tue coordinate, applicare una routine di clustering e scrivere i suoi risultati (se necessario) in un file che il tuo GIS può post-elaborare.
whuber

Puoi essere esplicito nelle definizioni delle dimensioni?
Raffaello,

Risposte:


11

puoi consultare l'algoritmo di clustering k-means qui .

Nel data mining, il clustering di k-medie è un metodo di analisi di cluster che mira a partizionare n osservazioni in k cluster in cui ogni osservazione appartiene al cluster con la media più vicina. Ciò si traduce in un partizionamento dello spazio dati in celle Voronoi.

Implementazione di kmeans-postgresql qui .. e ho appena incontrato questo argomento Clustering spaziale con PostGIS, puoi dare un'occhiata qui da @Mike Toews con la funzione ST_MinimumBoundingCircle ..

Mikey


Kmeans

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.