Eu tenho uma tabela de cadeia de linhas e uma tabela de pontos no postgis.
Eu sei a linha mais próxima de qualquer ponto. O que eu preciso saber é de qual "lado" dessa linha é o ponto. Acho que tenho que fazer isso criando uma linha perpendicular de um ponto a outro (ponto mais próximo da linha) e depois comparando as coordenadas, mas não sei exatamente como fazer isso, e se for da maneira correta, já que a linha muda de direção.
Eu fiz uma foto para ilustrar minha tarefa.
A linha em si é preta, sua direção é mostrada com setas verdes. Eu preciso adicionar uma coluna "lateral" à tabela de pontos, para que os pontos vermelhos tenham valor "right" e os pontos azuis tenham valor "left".
Alguém pode dar um exemplo de código SQL para calcular o valor "lateral" de um ponto?
fonte
ST_Azimuth(h.vec)
- é um pseudocódigo.h.vec
eh.seg
são linhas, por isso para ser mais preciso, deve ser algo comoST_Azimuth(ST_StartPoint(h.vec), ST_EndPoint(h.vec))