Saya memiliki tabel linestring dan tabel poin di postgis.
Saya tahu garis terdekat ke titik tertentu. Yang perlu saya ketahui adalah "sisi" dari garis mana yang menjadi intinya. Saya kira saya harus melakukan itu dengan membuat garis tegak lurus dari titik yang diberikan ke garis (titik terdekat di garis) dan kemudian membandingkan koordinat, tetapi saya tidak tahu persis bagaimana melakukannya, dan jika itu cara yang tepat, karena garis mengubah arahnya.
Saya telah membuat gambar untuk menggambarkan tugas saya.
Garis itu sendiri berwarna hitam, arahnya ditunjukkan dengan panah hijau. Saya perlu menambahkan kolom "sisi" ke tabel titik, sehingga titik merah harus memiliki nilai "benar" dan titik biru harus memiliki nilai "kiri".
Bisakah seseorang memberikan contoh kode SQL untuk menghitung nilai "sisi" suatu titik?
sumber
ST_Azimuth(h.vec)
- adalah kodesemu.h.vec
danh.seg
garis, jadi lebih tepatnya itu harus sepertiST_Azimuth(ST_StartPoint(h.vec), ST_EndPoint(h.vec))