Domanda

Sto cercando di cluster di calcolo su una serie di punti in Python, utilizzando GeoDjango.

Il problema: Dato un insieme di punti, uscita un insieme di cluster di tali punti. (Sto bene specificando # dei cluster / dimensione dei cluster / distanza in anticipo per semplificare)

Ci sono alcuni soluzioni sul web per fare il clustering, quindi è un problema ben noto. Ho pensato che sarebbe GeoDjango gestire questi tipi di problemi fuori dalla scatola, ma non è chiaro come -'VE cercato la documentazione GeoDjango, Google, e pochi altri posti, ma non ho trovato nulla

.

Prima di rotolare il mio soluzione di clustering, ho pensato di chiedere di vedere se c'è un modo semplice per farlo utilizzando GEOS o un altro pacchetto entro GeoDjango.

È stato utile?

Soluzione 2

Come Christopher Schmidt accennato, non sembra essere qualsiasi fuori dalla scatola supporto per il clustering in GeoDjango. Tuttavia, se qualcun altro viene eseguito in questo problema, ecco quello che ho fatto:

  • Installato mlpy e NumPy
  • Usato il HCluster gerarchica di clustering algoritmo
  • scritto una funzione involucro per convertire gli oggetti GEOS Point in una matrice che mlpy potrebbe comprendere

Documentazione presso: https://mlpy.fbk.eu/data/doc/clustering.html

Altri suggerimenti

GeoDjango non ha alcuna costruito nel clustering di sostegno; questa operazione non è tipicamente fornita da qualsiasi applicazione GIS Open Source esistente che si sarebbe utilizzando con GeoDjango che io sappia.

Diversi siti in esecuzione Django / GeoDjango (come everyblock.com) hanno pubblicato quello che il loro metodo è per il clustering, ma questo supporto non è integrato nel GeoDjango.

In generale, la funzionalità fornita da queste applicazioni si basa sul supporto database sottostante. GEOS, la biblioteca sotto PostGIS, e lo 'stato dell'arte' generale (almeno nel mondo non-Java), non ha alcun tipo di clustering di API o di comportamento.

Se qualcuno inciampa su questa discussione:

https://github.com/biodiv/anycluster

I open source mia geodjango il clustering app. Dopo averlo installato, basta un paio di righe di JavaScript e cluster. Si può facilmente modificare alcune impostazioni e utilizzare la propria grafica. Ho anche aggiunto alcuni esempi di utilizzo su GitHub ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top