summaryrefslogtreecommitdiff
path: root/src/3rdparty/proj/rtodms.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/proj/rtodms.c')
-rw-r--r--src/3rdparty/proj/rtodms.c72
1 files changed, 0 insertions, 72 deletions
diff --git a/src/3rdparty/proj/rtodms.c b/src/3rdparty/proj/rtodms.c
deleted file mode 100644
index abf6bc1c..00000000
--- a/src/3rdparty/proj/rtodms.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Convert radian argument to DMS ascii format */
-#include <projects.h>
-#include <stdio.h>
-#include <string.h>
-/*
-** RES is fractional second figures
-** RES60 = 60 * RES
-** CONV = 180 * 3600 * RES / PI (radians to RES seconds)
-*/
- static double
-RES = 1000.,
-RES60 = 60000.,
-CONV = 206264806.24709635515796003417;
- static char
-format[50] = "%dd%d'%.3f\"%c";
- static int
-dolong = 0;
- void
-set_rtodms(int fract, int con_w) {
- int i;
-
- if (fract >= 0 && fract < 9 ) {
- RES = 1.;
- /* following not very elegant, but used infrequently */
- for (i = 0; i < fract; ++i)
- RES *= 10.;
- RES60 = RES * 60.;
- CONV = 180. * 3600. * RES / PI;
- if (! con_w)
- (void)sprintf(format,"%%dd%%d'%%.%df\"%%c", fract);
- else
- (void)sprintf(format,"%%dd%%02d'%%0%d.%df\"%%c",
- fract+2+(fract?1:0), fract);
- dolong = con_w;
- }
-}
- char *
-rtodms(char *s, double r, int pos, int neg) {
- int deg, min, sign;
- char *ss = s;
- double sec;
-
- if (r < 0) {
- r = -r;
- if (!pos) { *ss++ = '-'; sign = 0; }
- else sign = neg;
- } else
- sign = pos;
- r = floor(r * CONV + .5);
- sec = fmod(r / RES, 60.);
- r = floor(r / RES60);
- min = fmod(r, 60.);
- r = floor(r / 60.);
- deg = r;
-
- if (dolong)
- (void)sprintf(ss,format,deg,min,sec,sign);
- else if (sec) {
- char *p, *q;
-
- (void)sprintf(ss,format,deg,min,sec,sign);
- for (q = p = ss + strlen(ss) - (sign ? 3 : 2); *p == '0'; --p) ;
- if (*p != '.')
- ++p;
- if (++q != p)
- (void)strcpy(p, q);
- } else if (min)
- (void)sprintf(ss,"%dd%d'%c",deg,min,sign);
- else
- (void)sprintf(ss,"%dd%c",deg, sign);
- return s;
-}