ST_Azimuth — Returnerar den nordbaserade azimuten för en linje mellan två punkter.
float ST_Azimuth(
geometry origin, geometry target)
;
float ST_Azimuth(
geography origin, geography target)
;
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.
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.
|