Bagikan melalui


geo_angle()

Berlaku untuk: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

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(p3_latitude p3_longitude p1_latitude p2_longitude p2_latitude,,,p2_latitude,p1_longitude p1_longitude,)

Pelajari selengkapnya tentang konvensi sintaksis.

Parameter

Nama Tipe Wajib 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 diwakili 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)

Hasil

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)

Hasil

angle_in_degrees
168.732543198009

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

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

Hasil

is_null
Benar