Mam stół z liniami i stół punktowy w postgis.
Znam najbliższą linię do dowolnego punktu. Muszę wiedzieć, po której „stronie” tej linii jest sedno. Chyba muszę to zrobić, tworząc linię prostopadłą z danego punktu do linii (najbliższy punkt na linii), a następnie porównując współrzędne, ale nie wiem dokładnie, jak to zrobić, a jeśli to jest właściwy sposób, ponieważ linia zmienia swój kierunek.
Zrobiłem zdjęcie, aby zilustrować moje zadanie.
Sama linia jest czarna, jej kierunek pokazuje zielone strzałki. Muszę dodać kolumnę „boczną” do tabeli punktów, aby czerwone punkty miały wartość „prawa”, a niebieskie punkty miały wartość „lewa”.
Czy ktoś może podać przykład kodu SQL obliczania „bocznej” wartości punktu?
źródło
ST_Azimuth(h.vec)
- to pseudokod.h.vec
ih.seg
są liniami, aST_Azimuth(ST_StartPoint(h.vec), ST_EndPoint(h.vec))