Go to the documentation of this file.
24 static double r_major;
25 static double lon_center;
26 static double lat_origin;
27 static double false_northing;
28 static double false_easting;
29 static double sin_p12;
30 static double cos_p12;
47 lon_center = center_lon;
48 lat_origin = center_lat;
49 false_northing = false_north;
50 false_easting = false_east;
52 sincos(center_lat,&sin_p12,&cos_p12);
84 rh = sqrt(
x *
x +
y *
y);
85 if (rh > (2.0 *
HALF_PI * r_major))
98 *
lat =
asinz(cosz * sin_p12 + (
y * sinz * cos_p12) / rh);
102 if (lat_origin >= 0.0)
113 con = cosz - sin_p12 * sin(*
lat);
116 *
lon =
adjust_lon(lon_center + atan2((
x * sinz * cos_p12), (con * rh)));
void gctp_print_origin(double A)
void gctp_print_title(const char *proj_name)
long aziminv(double x, double y, double *lon, double *lat)
#define GCTP_PRINT_ERROR(format,...)
double adjust_lon(double x)
void gctp_print_offsetp(double A, double B)
long aziminvint(double r_maj, double center_lon, double center_lat, double false_east, double false_north)
void gctp_print_cenlonmer(double A)
void gctp_print_radius(double radius)