Sdílet prostřednictvím


geo_angle()

Vypočítá úhel po směru hodinových ručiček v radiánech mezi dvěma spojnicemi na Zemi. První řádek je [bod1, bod2] a druhý řádek je [bod2, bod3].

Syntax

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

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Typ Vyžadováno Popis
p1_longitude real ✔️ Hodnota zeměpisné délky ve stupních první geoprostorové souřadnice. Platná hodnota je v rozsahu [-180, +180].
p1_latitude real ✔️ Hodnota zeměpisné šířky ve stupních první geoprostorové souřadnice. Platná hodnota je v rozsahu [-90, +90].
p2_longitude real ✔️ Hodnota zeměpisné délky ve stupních druhé geoprostorové souřadnice. Platná hodnota je v rozsahu [-180, +180].
p2_latitude real ✔️ Hodnota zeměpisné šířky ve stupních druhé geoprostorové souřadnice. Platná hodnota je v rozsahu [-90, +90].
p3_longitude real ✔️ Hodnota zeměpisné délky ve stupních druhé geoprostorové souřadnice. Platná hodnota je v rozsahu [-180, +180].
p3_latitude real ✔️ Hodnota zeměpisné šířky ve stupních druhé geoprostorové souřadnice. Platná hodnota je v rozsahu [-90, +90].

Návraty

Úhel v radiánech v rozsahu [0, 2pi) mezi dvěma čárami [p1, p2] a [p2, p3]. Úhel se měří od první přímky k druhé přímce.

Poznámka

  • Geoprostorové souřadnice jsou interpretovány jako reprezentované systémem souřadnic WGS-84 .
  • Geodetickým datem, který se používá k měření vzdálenosti na Zemi, je koule. Hrany čar jsou geodézie na kouli.
  • Pokud jsou souřadnice neplatné, dotaz vygeneruje výsledek null.
  • Pokud se bod1 rovná bodu 2, dotaz vygeneruje výsledek null.
  • Pokud se bod 2 rovná bodu 3, dotaz vytvoří výsledek s hodnotou null.
  • Pokud jsou body 1 a bod2 antipodal, dotaz vytvoří výsledek null.
  • Pokud jsou body 2 a bod3 antipodal, dotaz vygeneruje výsledek null.

Příklady

Následující příklad vypočítá úhel v radiánech.

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

Výstup

angle_in_radians
2.94493843406882

Následující příklad vypočítá úhel ve stupních.

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

Výstup

angle_in_degrees
168.732543198009

Následující příklad vrátí hodnotu null, protože 1. bod se rovná 2. bodu.

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

Výstup

is_null
Ano