PostGIS 3.0.6dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ z_to_latitude()

double z_to_latitude ( double  z,
int  top 
)

Used in great circle to compute the pole of the great circle.

Definition at line 1049 of file lwgeodetic.c.

1050{
1051 double sign = SIGNUM(z);
1052 double tlat = acos(z);
1053 LWDEBUGF(4, "inputs: z(%.8g) sign(%.8g) tlat(%.8g)", z, sign, tlat);
1054 if (FP_IS_ZERO(z))
1055 {
1056 if (top) return M_PI_2;
1057 else return -1.0 * M_PI_2;
1058 }
1059 if (fabs(tlat) > M_PI_2 )
1060 {
1061 tlat = sign * (M_PI - fabs(tlat));
1062 }
1063 else
1064 {
1065 tlat = sign * tlat;
1066 }
1067 LWDEBUGF(4, "output: tlat(%.8g)", tlat);
1068 return tlat;
1069}
#define SIGNUM(n)
Macro that returns: -1 if n < 0, 1 if n > 0, 0 if n == 0.
#define FP_IS_ZERO(A)
#define LWDEBUGF(level, msg,...)
Definition lwgeom_log.h:88

References FP_IS_ZERO, LWDEBUGF, and SIGNUM.

Referenced by clairaut_cartesian(), and clairaut_geographic().

Here is the caller graph for this function: