Mapper
convert_lanier1.c
Go to the documentation of this file.
1 #include "prototypes.h"
2 
3 void main(int argc, char **argv)
4 
5 {
6 
7 FILE *fp,*fw,*fz;
8 char buf1[100],buf2[100],buf3[100];
9 int num,i,numverts,ier,oflag,istart,ilat,ilon;
10 char *p,kbuf[100],fname[100];
11 char hb5[20],parm1[20],parm2[20],dummy[100],name[100],parm3[20],oldhb5[10];
12 float flat,lat,flon,lon;
13 
14 
15 fp=fopen(argv[1],"r");
16 
17 if(fp==NULL) {
18 
19  printf("could not open %s\n",argv[1]);
20 
21  exit(1);
22 
23  }
24 
25 fw=fopen(argv[2],"w");
26 
27 if(fw==NULL) {
28 
29  printf("could not open %s\n",fname);
30 
31  exit(1);
32 
33  }
34 
35 istart=-1;
36 oldhb5[0]=0;
37 for(;;) {
38 
39  p=fgets(kbuf,100,fp);
40 
41  if(p==NULL)
42  break;
43 
44 
45  p=strchr(kbuf,'\n');
46  if(p!=NULL)
47  *p=0;
48 
49  p=pars_line(kbuf,"elgid",dummy);
50  if(p!=NULL)
51  sscanf(p,"%s",hb5);
52 
53  p=pars_line(kbuf,"elgpe",dummy);
54  if(p!=NULL) {
55 
56  ier=sscanf(p,"%s",parm1);
57  if(ier != 1)
58  strcpy(parm1,"XX");
59 
60  }
61 
62  p=pars_line(kbuf,"elgts",dummy);
63  if(p!=NULL) {
64 
65  ier=sscanf(p,"%s",parm3);
66 
67  if(ier != 1)
68  strcpy(parm3,"XX");
69 
70  }
71 
72  strcpy(parm2,"X");
73 
74  p=pars_line(kbuf,"locdes",dummy);
75  if(p!=NULL)
76  strcpy(name,p);
77 
78  p=pars_line(kbuf,"loclat",dummy);
79  if(p!=NULL) {
80 
81  ier=sscanf(p,"%f",&flat);
82 
83  if(ier!=1)
84  flat=-999;
85 
86  else {
87 
88  ilat=flat/10000;
89  lat=(float)ilat+(flat - ilat*10000)/6000;
90 
91  }
92 
93  }
94 
95  p=pars_line(kbuf,"loclng",dummy);
96  if(p!=NULL) {
97 
98  ier=sscanf(p,"%f",&flon);
99 
100  if(ier!=1)
101  lon=-999;
102 
103  else {
104 
105  ilon=flon/10000;
106  lon=(float)ilon+(flon - ilon*10000)/6000;
107 
108  if(strncmp(parm3,"RG",2)==0 ||
109  strncmp(parm3,"RM",2)==0 ||
110  strncmp(parm3,"RP",2)==0 ||
111  strncmp(parm3,"RR",2)==0 ||
112  strncmp(parm3,"RT",2)==0 ||
113  strncmp(parm3,"RV",2)==0 ||
114  strncmp(parm3,"RW",2)==0 ||
115  strncmp(parm3,"RZ",2)==0)
116 
117 if(strcmp(hb5,oldhb5)!=0)
118  fprintf(fw,"%s %s%s%sZ %7.4f %7.4f %s\n",hb5,parm1,parm2,
119  parm3,lat,lon,name);
120 
121 strcpy(oldhb5,hb5);
122 
123  }
124 
125 
126 
127 
128  }
129 
130  }
131 
132 }
133 
char name[35][30]
Definition: borshef.c:10
static int i
void main(int argc, char **argv)
char * pars_line(char *buf, char *s, char *sbuf)
Definition: pars_line.c:3
printf("fbuf is %s\n", fbuf)
fp
Definition: make_NEXRAD.c:339
fprintf(fp,"%d %d %d %d 1\n", iminx, iminy, maxi, maxj)
double lat
Definition: mapp2h.h:41
double lon
Definition: mapp2h.h:41
int numverts
Definition: mapper.c:91
char fname[100]
Definition: send_afos.c:6