Sono abbastanza nuovo per Postgres e PostGIS.
Sto cercando di fare una semplice corrispondenza della mappa (o inferenza del percorso, se lo desideri) di alcuni punti GPS. Sto usando Postgres (Postgis) .
Ho una tabella nel mio database contenente i miei punti GPS: punti gps (lat, long, tempo, velocità, azimut, geometria, ...)
Ho importato un file di forma della rete stradale anche nel mio database: route (gid, idrte, version, nomrte, norte, clsrte, geom, ...) - NON HO L'azimut dei link, e lo sono non sono sicuro di come posso calcolarlo usando la funzione postgis ST_azimuth. Tutto quello che ho è un file di forma della rete stradale contenente colonne elencate sopra.
Voglio associare ciascun punto GPS al collegamento più vicino (in un buffer di 20 metri attorno al punto) solo se la direzione del collegamento concorda con l'azimut del punto GPS (+ o -15 gradi) e recuperare la posizione proiettata. Altrimenti voglio che cerchi il collegamento più vicino, all'interno del buffer di 20 metri, che ha un azimut accettabile! (Proprio come l'immagine!)
Voglio che le nuove coordinate dei punti GPS proiettati vengano aggiunte nella tabella "gpspoints" come "projectedLat" e "projectedLong".
(Nell'immagine seguente, i punti effettivi sono dimostrati usando una direzione mentre i punti proiettati non hanno alcun segno di direzione)
ST_Azimuth
, ma tieni presente che ti dirà l'azimut rispetto alla direzione della digitalizzazione .