Ho bisogno di analizzare i dati caricati dai dispositivi GPS del veicolo per rilevare i modelli di viaggio e quindi provare a conoscere i normali schemi di viaggio per quel veicolo in modo che possano essere fatte previsioni sulla manutenzione, il rifornimento di carburante ecc. Alcuni veicoli sono domestici - > work- > percorsi di viaggio domestici) e alcuni sono commerciali con il routing programmato.
Ho caricato i lat e il GPS GPS in un database, quindi ho creato una ST_LineString con i punti dati per ogni veicolo (circa 1k per veicolo al giorno).
I veicoli non avranno mai modelli di viaggio identici (precisione GPS, tempi di ping irregolari ecc.) e gli schemi saranno visibili come sottoinsiemi di ping - ad esempio un'ora di tragitto tra il punto A (casa) e il punto B (lavoro) tra le 8:00 e 9:30 ogni mattina, lun-ven.
Ora la parte difficile - sto considerando le opzioni. Devo scrivere questo in un linguaggio procedurale del database usando la solita cassetta degli attrezzi di procedure, cursori, iterazioni ecc. Potrei usare Python se è utile - Sono un tipo di database che cerca di pensare in modo laterale e spaziale.
Un modello di viaggio potrebbe essere identificato da
(i) una sequenza di punti simile che può differire di una tolleranza (ad esempio +/- 300 metri)
(ii) parcheggi - se un'auto è parcheggiata nello stesso luogo per 8 ore al giorno
(iii) temporale - il veicolo inizia in viaggio alle 08:30 ogni giorno, +/- 10 minuti.
Sto pensando di scrivere una procedura che controlli ciascuno di questi pattern per ogni punto (o insieme di n punti) confrontandolo con tutti gli altri punti (o set di punti) iterando attraverso i ping per ogni giorno in sequenza .
Il caso d'uso più semplice è trovare le ricorrenze di un veicolo parcheggiato nello stesso luogo ogni giorno. Rilevare modelli di movimento simili è più complesso. Quale potrebbe essere una tecnica per questo?