2012-03-30 8 views
6

Desidero generare una heatmap dai dati del registro GPS. Il processo è simile al seguente:Preelaborazione lato server per Heatmap con PHP

  1. Memorizzo i dati del registro in MySQL utilizzando l'indicizzazione Geospatial. Un record comprende i dati di latitudine/longitudine e un timestamp.
  2. Nel pannello di amministrazione c'è una mappa di Google, e l'amministratore può scorrere e ingrandire la mappa.
  3. Ogni volta che la mappa è ingrandita o stroncato, la centrale invia una richiesta AJAX che contiene i punti di mappa di confine (nord-est e sud-ovest di latitudine/longitudine)
  4. Utilizzando la funzione geospaziale MySQL posso interrogare tutti i record all'interno quel confine.
  5. Invio i dati dei record da rendere dalla libreria di rendering della heatmap. (In questo momento sto usando il Heatmap.js, in qualche modo si tratta di un buggy po 'per la Google Map. Qualcuno ha una migliore suggerimento?)

Il problema è, i miei dati stanno crescendo troppo grande in modo che i dati di invio a il client e il rendering della heatmap in questo momento diventano troppo lenti. Penso che potrebbe essere utile disporre di uno script di pre-elaborazione per aggregare i dati, riducendo quindi il carico utile prima di inviarlo al browser client e alleggerire il rendering. Sono ancora nuovo con questa cosa heatmap, quindi c'è una libreria PHP esistente che può farlo?

risposta

1

Sì, sarà molto più veloce in PHP.

Trovo questo: http://blog.gmapify.fr/create-beautiful-tiled-heat-maps-with-php-and-gd

La parte difficile è quello di combinare questo con Google Maps per essere in grado di ingrandire, non vedo come si può raggiungere questo obiettivo in modo semplice.

+3

collegamento è rotto! –

+0

Il link WaybackMachine: https://web.archive.org/web/20131122174116/http://blog.gmapify.fr/create-beautiful-tiled-heat-maps-with-php-and-gd e il github corrispondente : https://github.com/LaurensRietveld/HeatMap – Veve