Ejemplo n.º 1
0
void wgem_gtextc( char *sys, float *x, float *y, char *cchar, float *rotat,
                  int *ixoff, int *iyoff, int *iret )
/************************************************************************
 * wgem_gtextc             						*
 *									*
 * This function is a wrapper for gtextc.				*
 *									*
 * void wgem_gtextc( sys, x, y, cchar, rotat, ixoff, iyoff, iret )	*
 *									*
 * Input parameters:							*
 *	*sys		char	coordinate system  			*
 *	*x		float	X coordinates / lats			*
 *	*y		float	Y coordinates / lons			*
 *	*cchar		char	text string to plot			*
 *	*rotat		float	rotation angle in degrees		*
 *	*ixoff		int	X offest in half characters		*
 *	*iyoff		int	Y offest in half characters		*
 *									*
 * Output parameters:							*
 *	*iret		int	return code				*
 **									*
 * Log:									*
 * E. Safford/SAIC	11/07	initial coding                          *
 ***********************************************************************/
{
    gtextc( sys, x, y, cchar, rotat, ixoff, iyoff, iret,
            strlen( sys ), strlen( cchar ) );
}
Ejemplo n.º 2
0
void radar_info(rad_struct RADARS[], int NEXSTNS)
{
int i,j,np=1,iret;
float x,y,sped,drct;
float rotat=0;
float rwmrk, rhmrk, rwtxt, rhtxt, rwbrb, rhbrb;
int ixoff=0,iyoff=0;
char plotstr[8];

float nx[1], ny[1], gx[1], gy[1]; 

char gcord[]="G", ncord[]="N";
char NEstr[] = "NE";
char OMstr[] = "OM";
char NAstr[] = "NA";
cntr_struct *next_cntr;
int *dataptr;

gqsysz ( &rwmrk, &rhmrk, &rwtxt, &rhtxt, &rwbrb, &rhbrb, &iret);

if(radinfo_col > 0) 
   {
   gscolr(&radinfo_col,&iret);
   for(i=0;i<NEXSTNS;i++)
      {
      get_xy(RADARS[i].stnlat,RADARS[i].stnlon,&x,&y);
      if(RADARS[i].mode == MDNE)
         gtext(gcord,&x,&y,NEstr,&rotat,&ixoff,&iyoff,&iret, strlen(gcord),strlen(NEstr));
      else if(RADARS[i].mode == MDOM)
         gtext(gcord,&x,&y,OMstr,&rotat,&ixoff,&iyoff,&iret, strlen(gcord),strlen(OMstr));
      else if(RADARS[i].mode == MDNA)
         gtext(gcord,&x,&y,NAstr,&rotat,&ixoff,&iyoff,&iret, strlen(gcord),strlen(NAstr));
      }
   }

if(cntr_col > 0)
   {
   gscolr(&cntr_col,&iret);
   gsbarb(&cntr_sz,&cntr_wid,&cntr_type,&iret);

   filter_init();

   for(i=0;i<NEXSTNS;i++)
      {
      for(j=0;j<RADARS[i].ncntr;j++)
         {
         get_xy4(RADARS[i].stnlat,RADARS[i].stnlon,RADARS[i].cntr[j].ggg,&x,&y);
         gx[0] = x + .125; gy[0] = y - .125;         
         gtrans ( gcord, ncord, &np, gx, gy, nx, ny, &iret,
            strlen(gcord),strlen(ncord));

	 if((nx[0] >= 0)&&(nx[0] <= 1)&&(ny[0] >= 0)&&(ny[0] <= 1))
	    n_filter (np, nx, ny, rhbrb, rwbrb, cntr_filter, &(RADARS[i].cntr[j]));

         } 
      }

   filter_set_head();
   while(filter_retrieve((void *)(&next_cntr), &x, &y))
      {
      sped = next_cntr->spd;
      drct = next_cntr->dir;
      gbarb(ncord,&np,&x,&y,&sped,&drct,&iret,strlen(ncord));
      } 
   }

if(maxtop_col > 0)
   {
   gscolr(&maxtop_col,&iret);

   filter_init();

   for(i=0;i<NEXSTNS;i++)
      {
      if(RADARS[i].maxtop > 0)
         {
         get_xy4(RADARS[i].stnlat,RADARS[i].stnlon,RADARS[i].maxtop_ggg,&x,&y);

	 gx[0] = x + .125; gy[0] = y - .125;
         gtrans ( gcord, ncord, &np, gx, gy, nx, ny, &iret,
            strlen(gcord),strlen(ncord));
         /* char string is 3 characters */
	 if((nx[0] >= 0)&&(nx[0] <= 1)&&(ny[0] >= 0)&&(ny[0] <= 1))
	    n_filter (np, nx, ny, rhtxt, rwtxt*2.7, maxtop_filter, &(RADARS[i].maxtop) );
         }
      }
   ixoff = 0; iyoff = 0; rotat = 0;
   filter_set_head();
   while(filter_retrieve((void *)(&dataptr), &x, &y))
      {
      sprintf(plotstr,"%03d\0",*dataptr);
      gtextc(ncord,&x,&y,plotstr,&rotat,&ixoff,&iyoff,&iret,
            strlen(ncord),strlen(plotstr));
      }
   }

if(meso_col > 0)
   {
   gscolr(&meso_col,&iret);
   gsmrkr(&meso_mark,&meso_hw,&meso_sz,&meso_wid,&iret);

   filter_init();

   for(i=0;i<NEXSTNS;i++)
      {
      for(j=0;j<RADARS[i].nmeso;j++)
         {
         get_xy4(RADARS[i].stnlat,RADARS[i].stnlon,RADARS[i].meso[j].ggg,&x,&y);

	 gx[0] = x + .125; gy[0] = y - .125;
         gtrans ( gcord, ncord, &np, gx, gy, nx, ny, &iret,
            strlen(gcord),strlen(ncord));
	 if((nx[0] >= 0)&&(nx[0] <= 1)&&(ny[0] >= 0)&&(ny[0] <= 1))
	    n_filter (np, nx, ny, rhmrk, rwmrk, meso_filter, NULL);
         RADARS[i].meso[j].nx = nx[0];
         RADARS[i].meso[j].ny = ny[0];
         }
      }
   filter_set_head();
   while(filter_retrieve((void *)(&dataptr), &x, &y))
      {
      gmark(ncord,&np,&x,&y,&iret,strlen(ncord));
      }
   }

if(tvs_col > 0)
   {
   gscolr(&tvs_col,&iret);
   gsmrkr(&tvs_mark,&tvs_hw,&tvs_sz,&tvs_wid,&iret);

   filter_init();

   for(i=0;i<NEXSTNS;i++)
      {
      for(j=0;j<RADARS[i].ntvs;j++)
         {
         get_xy4(RADARS[i].stnlat,RADARS[i].stnlon,RADARS[i].tvs[j].ggg,&x,&y);
         gx[0] = x + .125; gy[0] = y - .125;
         gtrans ( gcord, ncord, &np, gx, gy, nx, ny, &iret,
            strlen(gcord),strlen(ncord));
	 if((nx[0] >= 0)&&(nx[0] <= 1)&&(ny[0] >= 0)&&(ny[0] <= 1))
            n_filter (np, nx, ny, rhmrk, rwmrk, tvs_filter, NULL);
         RADARS[i].tvs[j].nx = nx[0];
         RADARS[i].tvs[j].ny = ny[0];
         }
      }
   filter_set_head();
   while(filter_retrieve((void *)(&dataptr), &x, &y))
      {
      gmark(ncord,&np,&x,&y,&iret,strlen(ncord));
      }
   }

}