Name

ST_Azimuth — Returnerar den nordbaserade azimuten för en linje mellan två punkter.

Synopsis

float ST_Azimuth(geometry origin, geometry target);

float ST_Azimuth(geography origin, geography target);

Beskrivning

Returnerar målpunktens azimut i radianer från ursprungspunkten, eller NULL om de två punkterna sammanfaller. Azimutvinkeln är en positiv medurs vinkel som refereras från den positiva Y-axeln (geometri) eller den norra meridianen (geografi): North = 0; Northeast = π/4; East = π/2; Southeast = 3π/4; South = π; Southwest 5π/4; West = 3π/2; Northwest = 7π/4.

För den geografiska typen är azimutlösningen känd som det inversa geodetiska problemet.

Azimuten är ett matematiskt koncept definierat som vinkeln mellan en referensvektor och en punkt, med vinkelenheter i radianer. Resultatvärdet i radianer kan konverteras till grader med hjälp av PostgreSQL-funktionen grader ()..

Azimut kan användas tillsammans med ST_Translate för att förskjuta ett objekt längs dess vinkelräta axel. Se funktionen upgis_lineshift() i PostGIS-wikin för en implementering av detta.

Tillgänglighet: 1.1.0

Förbättrad: 2.0.0 stöd för geografi infördes.

Förbättrad: 2.2.0 mätning på sfäroid utförd med GeographicLib för förbättrad noggrannhet och robusthet. Kräver PROJ >= 4.9.0 för att dra nytta av den nya funktionen.

Exempel

Geometri Azimut i grader

SELECT degrees(ST_Azimuth( ST_Point(25, 45),  ST_Point(75, 100))) AS degA_B,
       degrees(ST_Azimuth( ST_Point(75, 100), ST_Point(25, 45) )) AS degB_A;

      dega_b       |     degb_a
------------------+------------------
 42.2736890060937 | 222.273689006094

Blå: ursprungspunkt(25,45); Grön: målpunkt(75,100); Gul: Y-axel eller norr; Röd: azimutvinkel.

Blå: ursprungspunkt(75, 100); Grön: målpunkt(25, 45); Gul: Y-axel eller norr; Röd: azimutvinkel.