Go to the documentation of this file.
25 static double lon_center[6];
26 static double feast[6];
41 lon_center[0] = 1.0471975512;
42 lon_center[1] = -2.96705972839;
43 lon_center[2] = -0.523598776;
44 lon_center[3] = 1.57079632679;
45 lon_center[4] = -2.44346095279;
46 lon_center[5] = -0.34906585;
50 feast[0] =
R * -2.19988776387;
51 feast[1] =
R * -0.15713484;
52 feast[2] =
R * 2.04275292359;
53 feast[3] =
R * -1.72848324304;
54 feast[4] =
R * 0.31426968;
55 feast[5] =
R * 2.19988776387;
79 if (
x <=
R * -1.41421356248) region = 0;
80 else if (
x <=
R * 0.942809042) region = 1;
85 if (
x <=
R * -0.942809042) region = 3;
86 else if (
x <=
R * 1.41421356248) region = 4;
89 x =
x - feast[region];
91 theta = asin(
y / (1.4142135623731 *
R));
92 *
lon =
adjust_lon(lon_center[region] + (
x / (0.900316316158*
R * cos(theta))));
93 *
lat = asin((2.0 * theta + sin(2.0 * theta)) /
PI);
97 if (region == 0 && (*lon < 0.34906585 || *lon > 1.91986217719))
return(
IN_BREAK);
98 if (region == 1 && ((*lon < 1.91986217719 && *lon > 0.34906585) ||
100 if (region == 2 && (*lon < -1.745329252 || *lon > 0.34906585))
return(
IN_BREAK);
101 if (region == 3 && (*lon < 0.34906585 || *lon > 2.44346095279))
return(
IN_BREAK);
102 if (region == 4 && ((*lon < 2.44346095279 && *lon > 0.34906585) ||
104 if (region == 5 && (*lon < -1.2217304764 || *lon> 0.34906585))
return(
IN_BREAK);
void gctp_print_title(const char *proj_name)
double adjust_lon(double x)
long imolwinv(double x, double y, double *lon, double *lat)
void gctp_print_radius(double radius)
long imolwinvint(double r)