Mapper
get_NEXRAD_coord.c
Go to the documentation of this file.
1 #include "prototypes.h"
2 
4 
5 {
6  extern Widget scrollbar;
7  extern Widget top_level;
8  extern Display *display;
9  extern int posit;
10  extern Widget s_text;
11  int i,k,kk;
12  struct HRAP hrap;
13  struct HRAP irap;
14  float cx,cy,lat,lon;
15  extern struct nexcoord nexcoord[2];
16  FILE *fp;
17  char *p,kbuf[120],dbuf[80];
18  int slider_size,scrollm,ivalue,increment,page_increment;
19 
20  fp=fopen("NEXRAD_radars","r");
21 
22  if(fp==NULL) {
23 
24  printf("could not open NEXRAD_radars\n");
25  exit(1);
26 
27  }
28 
29  kk=0;
30  for(;;) {
31 
32  p=fgets(kbuf,80,fp);
33  if(p==NULL) {
34 
35  fclose(fp);
36  return;
37 
38  }
39 
40  p=pars_line(kbuf,"radar=",dbuf);
41 
42  if(p==NULL)
43  continue;
44 
45  strcpy(nexcoord[kk].name,dbuf);
46 
47  p=pars_line(kbuf,"latitude=",dbuf);
48 
49  if(p==NULL)
50  continue;
51 
52  lat=atof(p);
53 
54  p=pars_line(kbuf,"longitude=",dbuf);
55 
56  if(p==NULL)
57  continue;
58 
59  strcpy(dbuf,"Coordinates for ");
60  strcat(dbuf,nexcoord[kk].name);
61  strcat(dbuf,"\n");
62  posit=posit+strlen(dbuf);
63  XmTextInsert(s_text,posit,dbuf);
64 
65  XtVaGetValues(scrollbar,XmNmaximum,&scrollm,NULL);
66 
67  XmScrollBarGetValues(scrollbar,&ivalue,&slider_size,
68  &increment,&page_increment);
69 
70  XmScrollBarSetValues(scrollbar,scrollm-slider_size,
71  slider_size, increment,page_increment,True);
72 
73  XFlush(display);
74  XmUpdateDisplay(top_level);
75 
76  lon=atof(p);
77 
78  if(lon > 0)
79  lon=-lon;
80 
82 
83  cx=(int)hrap.x+1;
84  cy=(int)hrap.y;
85 
86  for (i=0; i < 131; i++)
87  {
88  for (k=0; k < 131 ;k++)
89  {
90 
91  irap.x=cx + (float)(k - 65);
92  irap.y=cy + (float)(65 - i);
93  hrap=HrapToLatLong(irap);
94 
96 
97  }
98 
99  }
100 
101 }
102 return;
103 
104 }
105 void get_NEXRAD_pixels(int i, int k, float lat, float lon, int kk)
106 
107  {
108 
109  extern struct dval dval;
110  long r,s;
111  float conv=.0174;
112  extern struct nexcoord nexcoord[2];
113 
114  r=dval.a * cos(lat*conv)/(1+sin(lat*conv))
115  * cos((lon-dval.lo-90)*conv) + dval.xo +.5;
116 
117  nexcoord[kk].boxes[130-i][k].x=r;
118 
119  s=dval.a * cos(lat*conv)/(1+sin(lat*conv))
120  * sin((lon-dval.lo-90)*conv) + dval.yo + .5;
121 
122  nexcoord[kk].boxes[130-i][k].y=s;
123 
124  return;
125 
126  }
127 
128 
129 
130 
131 
132 
133 
134 
135 
136 
137 
138 
139 
140 
141 
142 
143 
144 
145 
146 
147 
char name[35][30]
Definition: borshef.c:10
static int i
Display * display
Definition: mapper.c:159
Widget top_level
Definition: display_rec.c:5
void get_NEXRAD_coord()
void get_NEXRAD_pixels(int i, int k, float lat, float lon, int kk)
struct HRAP LatLongToHrap(float lat, float lon)
Definition: hrap.c:105
struct HRAP HrapToLatLong(struct HRAP hrap)
Definition: hrap.c:40
char * pars_line(char *buf, char *s, char *sbuf)
Definition: pars_line.c:3
fclose(fp)
printf("fbuf is %s\n", fbuf)
fp
Definition: make_NEXRAD.c:339
double lat
Definition: mapp2h.h:41
double lon
Definition: mapp2h.h:41
int k
Definition: mapp2h.h:48
HRAP hrap
Definition: mapp2h.h:53
Widget scrollbar
Definition: mapper.c:185
int posit
Definition: mapper.c:93
Widget s_text
Definition: mapper.c:185
Definition: mapp2h.h:25
float y
Definition: mapp2h.h:26
float x
Definition: mapp2h.h:26
short int y
Definition: misc.h:498
short int x
Definition: misc.h:497
Definition: misc.h:470
double lo
Definition: misc.h:475
double a
Definition: misc.h:472
double yo
Definition: misc.h:474
double xo
Definition: misc.h:473
Definition: misc.h:502
struct coord boxes[131][131]
Definition: misc.h:505