Ho una tabella PostGIS con i dati di posizione di numerosi veicoli e desidero creare linee da questi punti.
I dati possono essere selezionati per ID veicolo e ordinati per data e ora ma come creare linee dal risultato?
Ciò di cui ho sostanzialmente bisogno è un segmento di linea dal punto 1 al punto 2, finalizzare la linea e poi di nuovo dal punto 2 al punto 3. Naturalmente tutto ciò in considerazione dell'ID del veicolo.
Quest'ultimo è necessario perché voglio calcolare la direzione di crociera e la velocità del veicolo da un punto a quello successivo.
SELECT ais_data.mmsi, ST_MakeLine(ais_data.geom) AS newgeom INTO ais_lines FROM (SELECT * FROM ais_data ORDER BY ais_data.mmsi, ais_data.bs_ts ASC) AS ais_data GROUP BY ais_data.mmsi;
Questo mi darà la traccia di ogni veicolo, e non è esattamente quello di cui ho bisogno. Come dire a ST_MakeLine () di creare una linea dal punto 1 al punto 2, finalizzare la linea e avviarne una nuova dal punto 2 al punto 3 ...?
ORDER BY ais_data.bs_ts
- è possibile? Quindi, il punto 1, il punto 2 e così via sono sostanzialmente le informazioni sul punto fornite in ciascuna riga come risultato dell'istruzione Select.