Go to the documentation of this file.
24 static double lon_center;
30 static double sin_lat_o;
31 static double cos_lat_o;
32 static double false_easting;
33 static double false_northing;
50 lon_center = center_long;
55 false_easting = false_east;
56 false_northing = false_north;
72 sincos(lat_o, &sin_lat_o, &cos_lat_o);
94 double sin_diff_angle;
95 double cos_diff_angle;
101 N = (n / 2.0) * asin(
y / (n *
R));
102 temp =
x / (m *
R) * cos(2.0 *
N / n) / cos(
N);
103 M = (m / 2.0) * asin(temp);
104 x_prime = 2.0 * sin(
M);
105 y_prime = 2.0 * sin(
N) * cos(2.0 *
M / m) / cos(
M);
106 temp = sqrt(x_prime * x_prime + y_prime * y_prime) / 2.0;
107 z = 2.0 * asin(temp);
108 Az = atan2(x_prime, y_prime);
109 diff_angle = Az - theta;
110 sincos(diff_angle, &sin_diff_angle, &cos_diff_angle);
111 sincos(z, &sin_z, &cos_z);
112 *
lat = asin(sin_lat_o * cos_z + cos_lat_o * sin_z * cos_diff_angle);
113 *
lon =
adjust_lon(lon_center + atan2((sin_z * sin_diff_angle), (cos_lat_o *
114 cos_z - sin_lat_o * sin_z * cos_diff_angle)));
void gctp_print_title(const char *proj_name)
void gctp_print_cenlon(double A)
long obleqinvint(double r, double center_long, double center_lat, double shape_m, double shape_n, double angle, double false_east, double false_north)
double adjust_lon(double x)
long obleqinv(double x, double y, double *lon, double *lat)
void gctp_print_offsetp(double A, double B)
void gctp_print_genrpt(double A, const char *S)
void gctp_print_radius(double radius)
void gctp_print_cenlat(double A)