Mapping Lat & Long per la panoramica della cronologia quotidiana su Google Maps

0

Quindi ho i seguenti dati per oltre un mese (un'app che registra tutto ciò che faccio)

  • lat
  • Long
  • On (DateTime)

Ora sono interessato a creare una storia per tracciare i punti su Google Maps, in modo simile a questo post del blog

Come potrei farlo? Ho pensato di raggruppare le domande e aggiungere un peso per raggio ogni 5 minuti (ad esempio entro i 50 metri). Quindi per ogni 5 minuti, il peso diventa +1 in peso. Il peso non ha il massimo.

  • Quindi lo mapperei con Poliline su Google Maps, quindi ho una buona panoramica.
  • Aggiungi un cerchio con una larghezza che dipende dal raggio di ogni "punto fermo", ad es. al lavoro o al nuoto. Il peso è maggiore a 5.

Qualche idea? Come creeresti SQL Query per calcolare la distanza (se qualcuno ha esperienza con la sua)

    
posta NicoJuicy 15.09.2016 - 23:59
fonte

1 risposta

1

La parte più facile di questa domanda a cui rispondere è come trovare la distanza tra due punti di latitudine / longitudine. Puoi farlo usando la trigonometria sferica e un'approssimazione sferica della Terra. Le formule e i link di esempio del codice possono essere trovati qui . Probabilmente vuoi anche vedere se il tuo database ha estensioni GIS per farlo per te. Ad esempio, PostgreSQL ha il pacchetto PostGIS che offre la funzione ST_DistanceSpheroid . Sebbene non sia ancora chiaro se il posto migliore per fare questo calcolo per il tuo problema sia nella query del database o nel codice dell'applicazione.

La parte più difficile è determinare i punti ancora . Qualsiasi cosa tu realizzi sarà un'approssimazione. Ci saranno aree grigie e condizioni al contorno dove non è chiaro come vorresti che guardasse. Se sei andato a pranzo dall'altra parte della strada, è ancora al lavoro? Che ne dici di mezzo miglio lungo la strada? Penso che un approccio euristico come quello che hai descritto possa funzionare, ma dovresti prototiparlo e sperimentare con dati reali per sapere quanto bene.

Per risolvere questo problema, osserverei algoritmi analisi cluster come k-means. Algoritmi di ottimizzazione come il metodo simplex Nelder-Mead o l'ottimizzazione dello sciame di particelle potrebbero essere utili, ad esempio, per massimizzare il numero di punti che si adattano all'interno di un cerchio di dimensioni fisse. Ma non troverai nessun proiettile d'argento, solo strumenti potenzialmente utili.

Potresti semplicemente iniziare a tracciare tutti i punti di una polilinea sulla mappa, vedere quanto è pessimo e andare da lì.

    
risposta data 16.09.2016 - 20:00
fonte

Leggi altre domande sui tag