UNCLASSIFIED
|
GeographicTranslator
|
#include <ctype.h>#include <math.h>#include <string.h>#include <stdio.h>#include <string>#include <sstream>#include "UPS.h"#include "UTM.h"#include "MGRS.h"#include "EllipsoidParameters.h"#include "MGRSorUSNGCoordinates.h"#include "GeodeticCoordinates.h"#include "UPSCoordinates.h"#include "UTMCoordinates.h"#include "CoordinateConversionException.h"#include "ErrorMessages.h"#include "WarningMessages.h"Go to the source code of this file.
Classes | |
| struct | Latitude_Band |
| struct | UPS_Constant |
Macros | |
| #define | EPSILON 1.75e-7 /* approx 1.0e-5 degrees (~1 meter) in radians */ |
| #define | LETTER_A 0 /* ARRAY INDEX FOR LETTER A */ |
| #define | LETTER_B 1 /* ARRAY INDEX FOR LETTER B */ |
| #define | LETTER_C 2 /* ARRAY INDEX FOR LETTER C */ |
| #define | LETTER_D 3 /* ARRAY INDEX FOR LETTER D */ |
| #define | LETTER_E 4 /* ARRAY INDEX FOR LETTER E */ |
| #define | LETTER_F 5 /* ARRAY INDEX FOR LETTER F */ |
| #define | LETTER_G 6 /* ARRAY INDEX FOR LETTER G */ |
| #define | LETTER_H 7 /* ARRAY INDEX FOR LETTER H */ |
| #define | LETTER_I 8 /* ARRAY INDEX FOR LETTER I */ |
| #define | LETTER_J 9 /* ARRAY INDEX FOR LETTER J */ |
| #define | LETTER_K 10 /* ARRAY INDEX FOR LETTER K */ |
| #define | LETTER_L 11 /* ARRAY INDEX FOR LETTER L */ |
| #define | LETTER_M 12 /* ARRAY INDEX FOR LETTER M */ |
| #define | LETTER_N 13 /* ARRAY INDEX FOR LETTER N */ |
| #define | LETTER_O 14 /* ARRAY INDEX FOR LETTER O */ |
| #define | LETTER_P 15 /* ARRAY INDEX FOR LETTER P */ |
| #define | LETTER_Q 16 /* ARRAY INDEX FOR LETTER Q */ |
| #define | LETTER_R 17 /* ARRAY INDEX FOR LETTER R */ |
| #define | LETTER_S 18 /* ARRAY INDEX FOR LETTER S */ |
| #define | LETTER_T 19 /* ARRAY INDEX FOR LETTER T */ |
| #define | LETTER_U 20 /* ARRAY INDEX FOR LETTER U */ |
| #define | LETTER_V 21 /* ARRAY INDEX FOR LETTER V */ |
| #define | LETTER_W 22 /* ARRAY INDEX FOR LETTER W */ |
| #define | LETTER_X 23 /* ARRAY INDEX FOR LETTER X */ |
| #define | LETTER_Y 24 /* ARRAY INDEX FOR LETTER Y */ |
| #define | LETTER_Z 25 /* ARRAY INDEX FOR LETTER Z */ |
| #define | ONEHT 100000.e0 /* ONE HUNDRED THOUSAND */ |
| #define | TWOMIL 2000000.e0 /* TWO MILLION */ |
| #define | TRUE 1 /* CONSTANT VALUE FOR TRUE VALUE */ |
| #define | FALSE 0 /* CONSTANT VALUE FOR FALSE VALUE */ |
| #define | PI 3.14159265358979323e0 |
| #define | PI_OVER_2 (PI / 2.0e0) |
| #define | PI_OVER_180 (PI / 180.0e0) |
| #define | MIN_EASTING 100000.0 |
| #define | MAX_EASTING 900000.0 |
| #define | MIN_NORTHING 0.0 |
| #define | MAX_NORTHING 10000000.0 |
| #define | MAX_PRECISION 5 /* Maximum precision of easting & northing */ |
| #define | MIN_MGRS_NON_POLAR_LAT (-80.0 * ( PI / 180.0 )) /* -80 deg in rad */ |
| #define | MAX_MGRS_NON_POLAR_LAT ( 84.0 * ( PI / 180.0 )) /* 84 deg in rad */ |
| #define | MIN_EAST_NORTH 0.0 |
| #define | MAX_EAST_NORTH 3999999.0 |
| #define | _6 (6.0 * (PI / 180.0)) |
| #define | _8 (8.0 * (PI / 180.0)) |
| #define | _72 (72.0 * (PI / 180.0)) |
| #define | _80 (80.0 * (PI / 180.0)) |
| #define | _80_5 (80.5 * (PI / 180.0)) |
| #define | _84_5 (84.5 * (PI / 180.0)) |
| #define | _500000 500000.0 |
| #define | CLARKE_1866 "CC" |
| #define | CLARKE_1880 "CD" |
| #define | BESSEL_1841 "BR" |
| #define | BESSEL_1841_NAMIBIA "BN" |
| #define | EPSILON2 4.99e-4 |
Functions | |
| double | computeScale (int prec) |
| void | makeMGRSString (char *MGRSString, long zone, int letters[MGRS_LETTERS], double easting, double northing, long precision) |
| void | breakMGRSString (char *MGRSString, long *zone, long letters[MGRS_LETTERS], double *easting, double *northing, long *precision) |
Variables | |
| const Latitude_Band | Latitude_Band_Table [20] |
| const UPS_Constant | UPS_Constant_Table [4] |
| #define EPSILON 1.75e-7 /* approx 1.0e-5 degrees (~1 meter) in radians */ |
| #define MAX_MGRS_NON_POLAR_LAT ( 84.0 * ( PI / 180.0 )) /* 84 deg in rad */ |
| #define MAX_PRECISION 5 /* Maximum precision of easting & northing */ |
| #define MIN_MGRS_NON_POLAR_LAT (-80.0 * ( PI / 180.0 )) /* -80 deg in rad */ |
| void breakMGRSString | ( | char * | MGRSString, |
| long * | zone, | ||
| long | letters[MGRS_LETTERS], | ||
| double * | easting, | ||
| double * | northing, | ||
| long * | precision | ||
| ) |
| void makeMGRSString | ( | char * | MGRSString, |
| long | zone, | ||
| int | letters[MGRS_LETTERS], | ||
| double | easting, | ||
| double | northing, | ||
| long | precision | ||
| ) |
| const Latitude_Band Latitude_Band_Table[20] |
| const UPS_Constant UPS_Constant_Table[4] |