Eu sou bastante novo no Postgres e no PostGIS.
Estou tentando fazer uma correspondência simples de mapa (ou inferência de caminho, se você desejar) de alguns pontos de GPS. Estou usando o postgres (postgis) .
Eu tenho uma tabela no meu banco de dados contendo meus pontos de GPS: gpspoints (Lat, Long, tempo, velocidade, azimute, geometria, ...)
Também importei um shapefile da rede rodoviária para o meu banco de dados: rotas (gid, idrte, versão, nomrte, norte, clsrte, geom, ...) - EU NÃO TENHO o azimute dos links e sou não tenho certeza como posso calculá-lo usando a função post_is ST_azimuth. Tudo o que tenho é um arquivo de forma da rede de estradas que contém as colunas enumeradas acima.
Eu quero associar cada ponto GPS ao link mais próximo (em um buffer de 20 metros ao redor do ponto) somente se a direção do link concordar com o azimute do ponto GPS (+ ou -15 graus) e recuperar a posição projetada. Caso contrário, quero que ele procure o próximo link mais próximo, dentro do buffer de 20 metros, que possui um azimute aceitável! (Assim como a imagem!)
Quero que as novas coordenadas dos pontos GPS projetados sejam adicionadas na tabela "gpspoints" como "projectedLat" e "projectedLong".
(Na figura abaixo, os pontos reais são demonstrados usando uma direção, enquanto os pontos projetados não têm nenhuma marca de direção)
ST_Azimuth
, mas lembre-se de que ele indicará o azimute com relação à direção da digitalização .