Mapper
ll_s2f.c
Go to the documentation of this file.
1 #include <stdlib.h>
2 #include <stdio.h>
3 #include <string.h>
4 #include <errno.h>
5 #include <math.h>
6 #include <sys/time.h>
7 
8 /* function converts a sting of lat/long into int deg,min,sec and float degrees */
9 
10 int ll_s2f(char *dms, int *deg, int *min, int *sec, float *dec_deg)
11 {
12 
13 char cd[4],cm[3],cs[3];
14 
15 int len;
16 int d,m,s;
17 float dd;
18 
19  len=strlen(dms);
20  if(len <=5 || len >=8)
21  {
22  d=0;
23  m=0;
24  s=0;
25  dd=0.;
26  }
27  else
28  {
29  if(len==6)
30  {
31  strncpy(cd,dms,2);
32  strncpy(cm,dms+2,2);
33  strncpy(cs,dms+4,2);
34  }
35  else
36  {
37  strncpy(cd,dms,3);
38  strncpy(cm,dms+3,2);
39  strncpy(cs,dms+5,2);
40  }
41 
42  sscanf(cd,"%d",&d);
43  sscanf(cm,"%d",&m);
44  sscanf(cs,"%d",&s);
45 
46  dd=d+((float)m/60.)+((float)s/3600.);
47  }
48 
49  *deg=d;
50  *min=m;
51  *sec=s;
52  *dec_deg=dd;
53  return(0);
54 }
55 
56 
int ll_s2f(char *dms, int *deg, int *min, int *sec, float *dec_deg)
Definition: ll_s2f.c:10