Bagikan melalui


geo_angle()

Menghitung sudut searah jarum jam dalam radian antara dua baris di Bumi. Baris pertama adalah [point1, point2] dan baris kedua adalah [point2, point3].

Sintaks

geo_angle(, p1_longitude, p1_latitude, p2_longitude, p2_latitude, p3_longitudep3_latitude)

Pelajari selengkapnya tentang konvensi sintaksis.

Parameter

Nama Jenis Diperlukan Deskripsi
p1_longitude real ✔️ Nilai bujur dalam derajat koordinat geospasial pertama. Nilai yang valid berada dalam rentang [-180, +180].
p1_latitude real ✔️ Nilai garis lintang dalam derajat koordinat geospasial pertama. Nilai yang valid berada dalam rentang [-90, +90].
p2_longitude real ✔️ Nilai bujur dalam derajat koordinat geospasial kedua. Nilai yang valid berada dalam rentang [-180, +180].
p2_latitude real ✔️ Nilai garis lintang dalam derajat koordinat geospasial kedua. Nilai yang valid berada dalam rentang [-90, +90].
p3_longitude real ✔️ Nilai bujur dalam derajat koordinat geospasial kedua. Nilai yang valid berada dalam rentang [-180, +180].
p3_latitude real ✔️ Nilai garis lintang dalam derajat koordinat geospasial kedua. Nilai yang valid berada dalam rentang [-90, +90].

Mengembalikan

Sudut dalam radian dalam rentang [0, 2pi) antara dua baris [p1, p2] dan [p2, p3]. Sudut diukur CW dari baris pertama ke baris Kedua.

Catatan

  • Koordinat geospasial diinterpretasikan sebagaimana direpresentasikan oleh sistem referensi koordinat WGS-84.
  • Datum geodetik yang digunakan untuk mengukur jarak di Bumi adalah bola. Tepi garis adalah geodesik pada bola.
  • Jika koordinat tidak valid, kueri akan menghasilkan hasil null.
  • Jika point1 sama dengan point2, kueri akan menghasilkan hasil null.
  • Jika point2 sama dengan point3, kueri akan menghasilkan hasil null.
  • Jika point1 dan point2 antipodal, kueri akan menghasilkan hasil null.
  • Jika point2 dan point3 antipodal, kueri akan menghasilkan hasil null.

Contoh

Contoh berikut menghitung sudut dalam radian.

print angle_in_radians = geo_angle(0, 10, 0,5, 3,-10)

Output

angle_in_radians
2.94493843406882

Contoh berikut menghitung sudut dalam derajat.

let angle_in_radians = geo_angle(0, 10, 0,5, 3,-10);
print angle_in_degrees = degrees(angle_in_radians)

Output

angle_in_degrees
168.732543198009

Contoh berikut mengembalikan null karena titik ke-1 sama dengan titik ke-2.

print is_null = isnull(geo_angle(0, 10, 0, 10, 3, -10))

Output

is_null
True