Saluti a tutti<br><br>Ho una tabella con dentro delle posizioni gps sequenziali e devo per ognuna calcolare l'azimut rispetto alla posizione precedente, questo mi serve per disegnare una freccia di ogni posizione orientata rispetto al senso di marcia(in OpenLayers), una implementazione che pensavo fosse molto diffusa ed invece ho trovato solo questa query in rete:<br>

<span><span></span><i><br>SELECT round( degrees(ST_Azimuth(pos, LEAD(pos) OVER (PARTITION BY trackid ORDER BY id)))::numeric) AS azimut</i></span><br>
FROM gps <br>ORDER BY id ASC<br><br>dove <i>pos</i> è un campo geometry di tipo point con le coordinate di una posizione gps, <i>id</i> è un identificativo incrementato ad ogni nuova posizione inserita e <i>trackid</i> è un identificativo di una sequenza di posizioni contigue(sequenze di posizioni molto vicine hanno lo stesso <i>trackid</i>)<br>
La sudetta query funziona abbastanza bene in postgresql 8.4 con postgis 1.5, ma il problema è che fa uso di PARTITION BY che da quanto<br>ho visto è una funzionalità(le partizioni) di postgresql che è stata inserita proprio dalla versione 8.4.<br>
Qualcuno ha una idea di come posso modificare la query ed ottenere lo stesso risultato senza utilizzare PARTITION BY? in modo che posso utilizzarla anche in postgresql 8.3 con postgis 1.3, volevo evitare di dover compilare una nuova versione di postgresql sul mio server debian lenny!<br>

<br><br>Grazie Mille<br>Stefano<br><br><br>