| defs.h | | defs.h | |
| | | | |
| skipping to change at line 125 | | skipping to change at line 125 | |
| * Toss in some GNU C-specific voodoo for checking. | | * Toss in some GNU C-specific voodoo for checking. | |
| */ | | */ | |
| #if __GNUC__ | | #if __GNUC__ | |
| # define PRINTFLIKE(x,y) __attribute__ ((__format__ (__printf__, (x), (y))
)) | | # define PRINTFLIKE(x,y) __attribute__ ((__format__ (__printf__, (x), (y))
)) | |
| # define NORETURN void __attribute__ ((__noreturn__)) | | # define NORETURN void __attribute__ ((__noreturn__)) | |
| #else | | #else | |
| # define PRINTFLIKE(x,y) | | # define PRINTFLIKE(x,y) | |
| # define NORETURN void | | # define NORETURN void | |
| #endif | | #endif | |
| | | | |
|
| | | #ifndef HAVE_VA_COPY | |
| | | # ifdef __va_copy | |
| | | # define va_copy(DEST,SRC) __va_copy((DEST),(SRC)) | |
| | | # else | |
| | | # ifdef HAVE_VA_LIST_AS_ARRAY | |
| | | # define va_copy(DEST,SRC) (*(DEST) = *(SRC)) | |
| | | # else | |
| | | # define va_copy(DEST,SRC) ((DEST) = (SRC)) | |
| | | # endif | |
| | | # endif | |
| | | #endif | |
| | | | |
| /* | | /* | |
| * Common definitions. There should be no protocol or file-specific | | * Common definitions. There should be no protocol or file-specific | |
| * data in this file. | | * data in this file. | |
| */ | | */ | |
| #define BASE_STRUCT(memberp, struct_type, member_name) \ | | #define BASE_STRUCT(memberp, struct_type, member_name) \ | |
| ((struct_type *)((char *)(memberp) - offsetof(struct_type, member_name))
) | | ((struct_type *)((char *)(memberp) - offsetof(struct_type, member_name))
) | |
| | | | |
| typedef enum { | | typedef enum { | |
| fix_unknown=-1, | | fix_unknown=-1, | |
| fix_none=0, | | fix_none=0, | |
| fix_2d=1, | | fix_2d=1, | |
| fix_3d, | | fix_3d, | |
| fix_dgps, | | fix_dgps, | |
| fix_pps | | fix_pps | |
| } fix_type; | | } fix_type; | |
| | | | |
|
| | | typedef enum { | |
| | | status_unknown=0, | |
| | | status_true, | |
| | | status_false | |
| | | } status_type; | |
| | | | |
| /* | | /* | |
| * Define globally on which kind of data gpsbabel is working. | | * Define globally on which kind of data gpsbabel is working. | |
| * Important for "file types" that are essentially a communication | | * Important for "file types" that are essentially a communication | |
| * protocol for a receiver, like the Magellan serial data. | | * protocol for a receiver, like the Magellan serial data. | |
| */ | | */ | |
| typedef enum { | | typedef enum { | |
| trkdata = 1 , | | trkdata = 1 , | |
| wptdata, | | wptdata, | |
| rtedata, | | rtedata, | |
| posndata | | posndata | |
| | | | |
| skipping to change at line 183 | | skipping to change at line 201 | |
| int smart_names; | | int smart_names; | |
| cet_cs_vec_t *charset; | | cet_cs_vec_t *charset; | |
| char *charset_name; | | char *charset_name; | |
| inifile_t *inifile; | | inifile_t *inifile; | |
| } global_options; | | } global_options; | |
| | | | |
| extern global_options global_opts; | | extern global_options global_opts; | |
| extern const char gpsbabel_version[]; | | extern const char gpsbabel_version[]; | |
| extern time_t gpsbabel_now; /* gpsbabel startup-time; initialized in mai
n.c with time() */ | | extern time_t gpsbabel_now; /* gpsbabel startup-time; initialized in mai
n.c with time() */ | |
| extern time_t gpsbabel_time; /* gpsbabel startup-time; initialized in mai
n.c with current_time(), ! ZERO within testo ! */ | | extern time_t gpsbabel_time; /* gpsbabel startup-time; initialized in mai
n.c with current_time(), ! ZERO within testo ! */ | |
|
| | | extern int geocaches_present; | |
| | | | |
| #define MILLI_TO_MICRO(t) (t * 1000) /* Milliseconds to Microseconds */ | | #define MILLI_TO_MICRO(t) (t * 1000) /* Milliseconds to Microseconds */ | |
| #define MICRO_TO_MILLI(t) (t / 1000) /* Microseconds to Milliseconds*/ | | #define MICRO_TO_MILLI(t) (t / 1000) /* Microseconds to Milliseconds*/ | |
| #define CENTI_TO_MICRO(t) (t * 10000) /* Centiseconds to Microseconds */ | | #define CENTI_TO_MICRO(t) (t * 10000) /* Centiseconds to Microseconds */ | |
| #define MICRO_TO_CENTI(t) (t / 10000) /* Centiseconds to Microseconds */ | | #define MICRO_TO_CENTI(t) (t / 10000) /* Centiseconds to Microseconds */ | |
| | | | |
| /* Short or Long XML Times */ | | /* Short or Long XML Times */ | |
| #define XML_SHORT_TIME 1 | | #define XML_SHORT_TIME 1 | |
| #define XML_LONG_TIME 2 | | #define XML_LONG_TIME 2 | |
| | | | |
| | | | |
| skipping to change at line 236 | | skipping to change at line 255 | |
| int is_html; | | int is_html; | |
| char *utfstring; | | char *utfstring; | |
| } utf_string; | | } utf_string; | |
| | | | |
| typedef struct { | | typedef struct { | |
| int id; /* The decimal cache number */ | | int id; /* The decimal cache number */ | |
| geocache_type type:5; | | geocache_type type:5; | |
| geocache_container container:4; | | geocache_container container:4; | |
| unsigned int diff:6; /* (multiplied by ten internally) */ | | unsigned int diff:6; /* (multiplied by ten internally) */ | |
| unsigned int terr:6; /* (likewise) */ | | unsigned int terr:6; /* (likewise) */ | |
|
| | | status_type is_archived:2; | |
| | | status_type is_available:2; | |
| time_t exported; | | time_t exported; | |
| time_t last_found; | | time_t last_found; | |
| char *placer; /* Placer name */ | | char *placer; /* Placer name */ | |
| int placer_id; /* Placer id */ | | int placer_id; /* Placer id */ | |
| char *hint; /* all these UTF8, XML entities removed, May be not HTML
. */ | | char *hint; /* all these UTF8, XML entities removed, May be not HTML
. */ | |
| utf_string desc_short; | | utf_string desc_short; | |
| utf_string desc_long; | | utf_string desc_long; | |
| } geocache_data ; | | } geocache_data ; | |
| | | | |
| typedef struct xml_tag { | | typedef struct xml_tag { | |
| | | | |
| skipping to change at line 305 | | skipping to change at line 326 | |
| char *url_link_text; | | char *url_link_text; | |
| } url_link; | | } url_link; | |
| | | | |
| /* | | /* | |
| * Misc bitfields inside struct waypoint; | | * Misc bitfields inside struct waypoint; | |
| */ | | */ | |
| typedef struct { | | typedef struct { | |
| unsigned int icon_descr_is_dynamic:1; | | unsigned int icon_descr_is_dynamic:1; | |
| unsigned int shortname_is_synthetic:1; | | unsigned int shortname_is_synthetic:1; | |
| unsigned int cet_converted:1; /* strings are converted to
UTF8; interesting only for input */ | | unsigned int cet_converted:1; /* strings are converted to
UTF8; interesting only for input */ | |
|
| | | unsigned int fmt_use:1; /* lightweight "extra data"
*/ | |
| /* "flagged fields" */ | | /* "flagged fields" */ | |
| unsigned int temperature:1; /* temperature field is set
*/ | | unsigned int temperature:1; /* temperature field is set
*/ | |
| unsigned int proximity:1; /* proximity field is set */ | | unsigned int proximity:1; /* proximity field is set */ | |
| unsigned int course:1; /* course field is set */ | | unsigned int course:1; /* course field is set */ | |
| unsigned int speed:1; /* speed field is set */ | | unsigned int speed:1; /* speed field is set */ | |
| unsigned int depth:1; /* depth field is set */ | | unsigned int depth:1; /* depth field is set */ | |
| /* !ToDo! | | /* !ToDo! | |
| unsigned int altitude:1; /+ altitude field is set +/ | | unsigned int altitude:1; /+ altitude field is set +/ | |
| ... and others | | ... and others | |
| */ | | */ | |
| | | | |
| } wp_flags; | | } wp_flags; | |
| | | | |
| #define WAYPT_SET(wpt,member,val) { wpt->member = (val); wpt->wpt_flags.mem
ber = 1; } | | #define WAYPT_SET(wpt,member,val) { wpt->member = (val); wpt->wpt_flags.mem
ber = 1; } | |
|
| #define WAYPT_GET(wpt,member,def) (wpt->wpt_flags.member) ? (wpt->member) :
(def) | | #define WAYPT_GET(wpt,member,def) ((wpt->wpt_flags.member) ? (wpt->member)
: (def)) | |
| #define WAYPT_UNSET(wpt,member) wpt->wpt_flags.member = 0 | | #define WAYPT_UNSET(wpt,member) wpt->wpt_flags.member = 0 | |
| #define WAYPT_HAS(wpt,member) (wpt->wpt_flags.member) | | #define WAYPT_HAS(wpt,member) (wpt->wpt_flags.member) | |
| /* | | /* | |
| * This is a waypoint, as stored in the GPSR. It tries to not | | * This is a waypoint, as stored in the GPSR. It tries to not | |
| * cater to any specific model or protocol. Anything that needs to | | * cater to any specific model or protocol. Anything that needs to | |
| * be truncated, edited, or otherwise trimmed should be done on the | | * be truncated, edited, or otherwise trimmed should be done on the | |
| * way to the target. | | * way to the target. | |
| */ | | */ | |
| | | | |
| typedef struct { | | typedef struct { | |
| | | | |
| skipping to change at line 700 | | skipping to change at line 722 | |
| const char *style_buf; | | const char *style_buf; | |
| } style_vecs_t; | | } style_vecs_t; | |
| extern style_vecs_t style_list[]; | | extern style_vecs_t style_list[]; | |
| | | | |
| void waypt_init(void); | | void waypt_init(void); | |
| void route_init(void); | | void route_init(void); | |
| void waypt_disp(const waypoint *); | | void waypt_disp(const waypoint *); | |
| void waypt_status_disp(int total_ct, int myct); | | void waypt_status_disp(int total_ct, int myct); | |
| double waypt_time(const waypoint *wpt); | | double waypt_time(const waypoint *wpt); | |
| double waypt_speed(const waypoint *A, const waypoint *B); | | double waypt_speed(const waypoint *A, const waypoint *B); | |
|
| | | double waypt_speed_ex(const waypoint *A, const waypoint *B); | |
| | | double waypt_course(const waypoint *A, const waypoint *B); | |
| | | double waypt_distance(const waypoint *A, const waypoint *B); | |
| | | double waypt_distance_ex(const waypoint *A, const waypoint *B); | |
| | | | |
| NORETURN fatal(const char *, ...) PRINTFLIKE(1, 2); | | NORETURN fatal(const char *, ...) PRINTFLIKE(1, 2); | |
| void is_fatal(const int condition, const char *, ...) PRINTFLIKE(2, 3); | | void is_fatal(const int condition, const char *, ...) PRINTFLIKE(2, 3); | |
| void warning(const char *, ...) PRINTFLIKE(1, 2); | | void warning(const char *, ...) PRINTFLIKE(1, 2); | |
| | | | |
| ff_vecs_t *find_vec(char * const, char **); | | ff_vecs_t *find_vec(char * const, char **); | |
| void assign_option(const char *vecname, arglist_t *ap, const char *val); | | void assign_option(const char *vecname, arglist_t *ap, const char *val); | |
| void disp_vec_options(const char *vecname, arglist_t *ap); | | void disp_vec_options(const char *vecname, arglist_t *ap); | |
| void disp_vecs(void); | | void disp_vecs(void); | |
| void disp_vec( const char *vecname ); | | void disp_vec( const char *vecname ); | |
| | | | |
| skipping to change at line 775 | | skipping to change at line 801 | |
| int str_match(const char *str, const char *match); | | int str_match(const char *str, const char *match); | |
| int case_ignore_str_match(const char *str, const char *match); | | int case_ignore_str_match(const char *str, const char *match); | |
| char * strenquote(const char *str, const char quot_char); | | char * strenquote(const char *str, const char quot_char); | |
| | | | |
| char *strsub(const char *s, const char *search, const char *replace); | | char *strsub(const char *s, const char *search, const char *replace); | |
| char *gstrsub(const char *s, const char *search, const char *replace); | | char *gstrsub(const char *s, const char *search, const char *replace); | |
| char *xstrrstr(const char *s1, const char *s2); | | char *xstrrstr(const char *s1, const char *s2); | |
| void rtrim(char *s); | | void rtrim(char *s); | |
| char * lrtrim(char *s); | | char * lrtrim(char *s); | |
| int xasprintf(char **strp, const char *fmt, ...); | | int xasprintf(char **strp, const char *fmt, ...); | |
|
| | | int xvasprintf(char **strp, const char *fmt, va_list ap); | |
| char *strupper(char *src); | | char *strupper(char *src); | |
| char *strlower(char *src); | | char *strlower(char *src); | |
| signed int get_tz_offset(void); | | signed int get_tz_offset(void); | |
| time_t mklocaltime(struct tm *t); | | time_t mklocaltime(struct tm *t); | |
| time_t mkgmtime(struct tm *t); | | time_t mkgmtime(struct tm *t); | |
| time_t current_time(void); | | time_t current_time(void); | |
| signed int month_lookup(const char *m); | | signed int month_lookup(const char *m); | |
| const char *get_cache_icon(const waypoint *waypointp); | | const char *get_cache_icon(const waypoint *waypointp); | |
| const char *gs_get_cachetype(geocache_type t); | | const char *gs_get_cachetype(geocache_type t); | |
| const char *gs_get_container(geocache_container t); | | const char *gs_get_container(geocache_container t); | |
| | | | |
| skipping to change at line 853 | | skipping to change at line 880 | |
| unsigned char data[4]; | | unsigned char data[4]; | |
| } pdb_float; | | } pdb_float; | |
| | | | |
| /* | | /* | |
| * Protypes for Endianness helpers. | | * Protypes for Endianness helpers. | |
| */ | | */ | |
| | | | |
| signed int be_read16(const void *p); | | signed int be_read16(const void *p); | |
| signed int be_read32(const void *p); | | signed int be_read32(const void *p); | |
| signed int le_read16(const void *p); | | signed int le_read16(const void *p); | |
|
| | | unsigned int le_readu16(const void *p); | |
| signed int le_read32(const void *p); | | signed int le_read32(const void *p); | |
|
| | | unsigned int le_readu32(const void *p); | |
| void le_read64(void *dest, const void *src); | | void le_read64(void *dest, const void *src); | |
| void be_write16(void *pp, const unsigned i); | | void be_write16(void *pp, const unsigned i); | |
| void be_write32(void *pp, const unsigned i); | | void be_write32(void *pp, const unsigned i); | |
| void le_write16(void *pp, const unsigned i); | | void le_write16(void *pp, const unsigned i); | |
| void le_write32(void *pp, const unsigned i); | | void le_write32(void *pp, const unsigned i); | |
| | | | |
| double endian_read_double(void* ptr, int read_le); | | double endian_read_double(void* ptr, int read_le); | |
| float endian_read_float(void* ptr, int read_le); | | float endian_read_float(void* ptr, int read_le); | |
| void endian_write_double(void* ptr, double d, int write_le); | | void endian_write_double(void* ptr, double d, int write_le); | |
| void endian_write_float(void* ptr, float f, int write_le); | | void endian_write_float(void* ptr, float f, int write_le); | |
| | | | |
| skipping to change at line 893 | | skipping to change at line 922 | |
| | | | |
| double ddmm2degrees(double ddmm_val); | | double ddmm2degrees(double ddmm_val); | |
| double degrees2ddmm(double deg_val); | | double degrees2ddmm(double deg_val); | |
| | | | |
| typedef enum { | | typedef enum { | |
| grid_unknown = -1, | | grid_unknown = -1, | |
| grid_lat_lon_ddd = 0, | | grid_lat_lon_ddd = 0, | |
| grid_lat_lon_dmm = 1, | | grid_lat_lon_dmm = 1, | |
| grid_lat_lon_dms = 2, | | grid_lat_lon_dms = 2, | |
| grid_bng = 3, | | grid_bng = 3, | |
|
| grid_utm = 4 | | grid_utm = 4, | |
| | | grid_swiss = 5 | |
| } grid_type; | | } grid_type; | |
| | | | |
| #define GRID_INDEX_MIN grid_lat_lon_ddd | | #define GRID_INDEX_MIN grid_lat_lon_ddd | |
|
| #define GRID_INDEX_MAX grid_utm | | #define GRID_INDEX_MAX grid_swiss | |
| | | | |
| #define DATUM_OSGB36 86 | | #define DATUM_OSGB36 86 | |
| #define DATUM_WGS84 118 | | #define DATUM_WGS84 118 | |
| | | | |
|
| | | /* | |
| | | * From parse.c | |
| | | */ | |
| int parse_coordinates(const char *str, int datum, const grid_type grid, | | int parse_coordinates(const char *str, int datum, const grid_type grid, | |
| double *latitude, double *longitude, const char *module); | | double *latitude, double *longitude, const char *module); | |
|
| | | int parse_distance(const char *str, double *val, double scale, const char * | |
| | | module); | |
| | | int parse_speed(const char *str, double *val, const double scale, const cha | |
| | | r *module); | |
| | | | |
| /* | | /* | |
| * From util_crc.c | | * From util_crc.c | |
| */ | | */ | |
| unsigned long get_crc32(const void * data, int datalen); | | unsigned long get_crc32(const void * data, int datalen); | |
| unsigned long get_crc32_s(const void * data); | | unsigned long get_crc32_s(const void * data); | |
| | | | |
| /* | | /* | |
| * From units.c | | * From units.c | |
| */ | | */ | |
| | | | |
End of changes. 14 change blocks. |
| 3 lines changed or deleted | | 40 lines changed or added | |
|
| gpsdatum.h | | gpsdatum.h | |
| | | | |
| skipping to change at line 44 | | skipping to change at line 44 | |
| { "Indonesian 1974", 6378160.000, 298.247 }, | | { "Indonesian 1974", 6378160.000, 298.247 }, | |
| { "International 1924", 6378388.000, 297.0 }, | | { "International 1924", 6378388.000, 297.0 }, | |
| { "Krassovsky 1940", 6378245.000, 298.3 }, | | { "Krassovsky 1940", 6378245.000, 298.3 }, | |
| { "GRS67", 6378160.000, 6356774.516 }, | | { "GRS67", 6378160.000, 6356774.516 }, | |
| { "GRS75", 6378140.000, 6356755.288 }, | | { "GRS75", 6378140.000, 6356755.288 }, | |
| { "GRS80", 6378137.000, 298.257222101 }, | | { "GRS80", 6378137.000, 298.257222101 }, | |
| { "S. American 1969", 6378160.000, 298.25 }, | | { "S. American 1969", 6378160.000, 298.25 }, | |
| { "WGS60", 6378165.000, 298.3 }, | | { "WGS60", 6378165.000, 298.3 }, | |
| { "WGS66", 6378145.000, 298.25 }, | | { "WGS66", 6378145.000, 298.25 }, | |
| { "WGS72", 6378135.000, 298.26 }, | | { "WGS72", 6378135.000, 298.26 }, | |
|
| { "WGS84", 6378137.000, 298.257223563 } | | { "WGS84", 6378137.000, 298.257223563 }, | |
| }; | | }; | |
| | | | |
| typedef struct GPS_SDatum | | typedef struct GPS_SDatum | |
| { | | { | |
| char *name; | | char *name; | |
| int ellipse; | | int ellipse; | |
| double dx; | | double dx; | |
| double dy; | | double dy; | |
| double dz; | | double dz; | |
| } GPS_ODatum, *GPS_PDatum; | | } GPS_ODatum, *GPS_PDatum; | |
| | | | |
| skipping to change at line 180 | | skipping to change at line 180 | |
| /* 112 */ { "Tokyo mean", 4, -128, 481, 664 }, | | /* 112 */ { "Tokyo mean", 4, -128, 481, 664 }, | |
| /* 113 */ { "Tristan Astro 1968", 17, -632, 438, -609 }, | | /* 113 */ { "Tristan Astro 1968", 17, -632, 438, -609 }, | |
| /* 114 */ { "United Arab Emirates", 6, -249, -156, 381 }, | | /* 114 */ { "United Arab Emirates", 6, -249, -156, 381 }, | |
| /* 115 */ { "Viti Levu 1916", 6, 51, 391, -36 }, | | /* 115 */ { "Viti Levu 1916", 6, 51, 391, -36 }, | |
| /* 116 */ { "Wake Eniwetok 60", 15, 101, 52, -39 }, | | /* 116 */ { "Wake Eniwetok 60", 15, 101, 52, -39 }, | |
| /* 117 */ { "WGS 72", 25, 0, 0, 5 }, | | /* 117 */ { "WGS 72", 25, 0, 0, 5 }, | |
| /* 118 */ { "WGS 84", 26, 0, 0, 0 }, | | /* 118 */ { "WGS 84", 26, 0, 0, 0 }, | |
| /* 119 */ { "Yacare", 17, -155, 171, 37 }, | | /* 119 */ { "Yacare", 17, -155, 171, 37 }, | |
| /* 120 */ { "Zanderij", 17, -265, 120, -358 }, | | /* 120 */ { "Zanderij", 17, -265, 120, -358 }, | |
| /* 121 */ { "Sweden", 4, 424.3, -80.5, 613.1 }, | | /* 121 */ { "Sweden", 4, 424.3, -80.5, 613.1 }, | |
|
| | | /* 122 */ { "GDA 94", 21, 0, 0, 0 }, | |
| | | /* 123 */ { "CH-1903", 4, 674, 15, 405 }, | |
| { NULL, 0, 0, 0, 0 } | | { NULL, 0, 0, 0, 0 } | |
| }; | | }; | |
| | | | |
|
| | | typedef struct GPS_SDatum_Alias | |
| | | { | |
| | | char *alias; | |
| | | const int datum; | |
| | | } GPS_ODatum_Alias, *GPS_PDatum_Alias; | |
| | | | |
| | | GPS_ODatum_Alias GPS_DatumAlias[] = | |
| | | { | |
| | | { "Australian GDA94", 122 }, | |
| | | { "GDA94", 122 }, | |
| | | { "GDA-94", 122 }, | |
| | | { "CH1903", 123 }, | |
| | | { "CH 1903", 123 }, | |
| | | { "Geodetic Datum 1949", 42 }, | |
| | | { "NAD27 Alaska", 3 }, | |
| | | { "NAD27 Bahamas", 14 }, | |
| | | { "NAD27 Canada", 4 }, | |
| | | { "NAD27 Canal Zone", 21 }, | |
| | | { "NAD27 Caribbean", 25 }, | |
| | | { "NAD27 Central", 27 }, | |
| | | { "NAD27 CONUS", 78 }, | |
| | | { "NAD27 Cuba", 31 }, | |
| | | { "NAD27 Greenland", 44 }, | |
| | | { "NAD27 Mexico", 70 }, | |
| | | { "NAD83", 77 }, | |
| | | { "NAD 83", 77 }, | |
| | | { "NAD-83", 77 }, | |
| | | { "OSGB 36", 86 }, | |
| | | { "OSGB-36", 86 }, | |
| | | { "Wake-Eniwetok 1960", 116 }, | |
| | | { "WGS72", 117 }, | |
| | | { "WGS-72", 117 }, | |
| | | { "WGS84", 118 }, | |
| | | { "WGS-84", 118 }, | |
| | | { NULL, -1 } | |
| | | }; | |
| | | | |
| /* UK Ordnance Survey Nation Grid Map Codes */ | | /* UK Ordnance Survey Nation Grid Map Codes */ | |
| static char *UKNG[]= | | static char *UKNG[]= | |
| { | | { | |
| "SV","SW","SX","SY","SZ","TV","TW","SQ","SR","SS","ST","SU","TQ","TR", | | "SV","SW","SX","SY","SZ","TV","TW","SQ","SR","SS","ST","SU","TQ","TR", | |
| "SL","SM","SN","SO","SP","TL","TM","SF","SG","SH","SJ","SK","TF","TG", | | "SL","SM","SN","SO","SP","TL","TM","SF","SG","SH","SJ","SK","TF","TG", | |
| "SA","SB","SC","SD","SE","TA","TB","NV","NW","NX","NY","NZ","OV","OW", | | "SA","SB","SC","SD","SE","TA","TB","NV","NW","NX","NY","NZ","OV","OW", | |
| "NQ","NR","NS","NT","NU","OQ","OR","NL","NM","NN","NO","NP","OL","OM", | | "NQ","NR","NS","NT","NU","OQ","OR","NL","NM","NN","NO","NP","OL","OM", | |
| "NF","NG","NH","NJ","NK","OF","OG","NA","NB","NC","ND","NE","OA","OB", | | "NF","NG","NH","NJ","NK","OF","OG","NA","NB","NC","ND","NE","OA","OB", | |
| "HV","HW","HX","HY","HZ","JV","JW","HQ","HR","HS","HT","HU","JQ","JR", | | "HV","HW","HX","HY","HZ","JV","JW","HQ","HR","HS","HT","HU","JQ","JR", | |
| "HL","HM","HN","HO","HP","JL","JM","" | | "HL","HM","HN","HO","HP","JL","JM","" | |
| | | | |
End of changes. 3 change blocks. |
| 1 lines changed or deleted | | 40 lines changed or added | |
|
| gpsmath.h | | gpsmath.h | |
| | | | |
| skipping to change at line 119 | | skipping to change at line 119 | |
| int32 GPS_Math_UTM_EN_To_WGS84(double *lat, double *lon, double E, | | int32 GPS_Math_UTM_EN_To_WGS84(double *lat, double *lon, double E, | |
| double N, int32 zone, char zc); | | double N, int32 zone, char zc); | |
| int32 GPS_Math_UTM_EN_To_NAD83(double *lat, double *lon, double E, | | int32 GPS_Math_UTM_EN_To_NAD83(double *lat, double *lon, double E, | |
| double N, int32 zone, char zc); | | double N, int32 zone, char zc); | |
| | | | |
| int32 GPS_Math_Known_Datum_To_UTM_EN(double lat, double lon, double *E, | | int32 GPS_Math_Known_Datum_To_UTM_EN(double lat, double lon, double *E, | |
| double *N, int32 *zone, char *zc, const int n
); | | double *N, int32 *zone, char *zc, const int n
); | |
| int32 GPS_Math_UTM_EN_To_Known_Datum(double *lat, double *lon, double E, | | int32 GPS_Math_UTM_EN_To_Known_Datum(double *lat, double *lon, double E, | |
| double N, int32 zone, char zc, const int n); | | double N, int32 zone, char zc, const int n); | |
| | | | |
|
| | | int32 GPS_Math_WGS84_To_CH1903_NGEN(double phi, double lambda, double *E, d | |
| | | ouble *N); | |
| | | void GPS_Math_CH1903_NGEN_To_WGS84(double E, double N, double *lat, double | |
| | | *lon); | |
| | | | |
| | | int32 GPS_Math_LatLon_To_OM_EN(double phi, double lambda, double *E, double | |
| | | *N, | |
| | | double phiC, double lambdaC, double azmC, dou | |
| | | ble gammaC, | |
| | | const double kC, const double FE, const doubl | |
| | | e FN, | |
| | | const double a, const double invf, | |
| | | const char hotine, const char degrees); | |
| | | void GPS_Math_OM_EN_To_LatLon(const double E, const double N, double *phi, | |
| | | double *lambda, | |
| | | double phiC, double lambdaC, double azmC, doub | |
| | | le gammaC, | |
| | | const double kC, const double FE, const double | |
| | | FN, | |
| | | const double a, const double invf, | |
| | | const char hotine, const char degrees); | |
| | | | |
| int32 GPS_Lookup_Datum_Index(const char *n); | | int32 GPS_Lookup_Datum_Index(const char *n); | |
| char *GPS_Math_Get_Datum_Name(const int datum_index); | | char *GPS_Math_Get_Datum_Name(const int datum_index); | |
| | | | |
| #endif | | #endif | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
End of changes. 1 change blocks. |
| 0 lines changed or deleted | | 22 lines changed or added | |
|