示例#1
0
int main(int argc,char *argv[]) {

  struct Rplot *rplot=NULL;

  float wdt=400,hgt=400;

  unsigned int bgcol=0xaffffff;
  unsigned int lndcol=0xa0ffa0;
  unsigned int seacol=0xa0a0ff;
 
  MapTransform  tfunc;
  float marg[3];
  
  char *envstr;
  FILE *mapfp;

  envstr=getenv("MAPDATA");

  mapfp=fopen(envstr,"r");
  map=MapFread(mapfp);
  fclose(mapfp);   

  marg[0]=90.0;
  marg[1]=0.0;
  marg[2]=1.0;

  tfunc=MapStereographic;

  clip=MapCircleClip(10); 

  nmap=PolygonTransform(map,2*sizeof(float),PolygonXYbbox,
                        tfunc,marg);

  pmap=PolygonClip(clip,nmap); 
 
  rplot=RplotMake();
  RplotSetText(rplot,stream,stdout);   
  RplotMakePlot(rplot,"MapCircleClip",wdt,hgt,24);

  RplotRectangle(rplot,NULL,0,0,wdt,hgt,
                  1,bgcol,0x0f,0,NULL);
  RplotEllipse(rplot,NULL,wdt/2,hgt/2,wdt/2,hgt/2,
                  1,seacol,0x0f,0,NULL);

  MapPlotPolygon(rplot,NULL,0,0,wdt,hgt,1,lndcol,0x0f,0,NULL,
                   pmap,1);

  MapPlotPolygon(rplot,NULL,0,0,wdt,hgt,1,lndcol,0x0f,0,NULL,
                   pmap,3);
  
  MapPlotPolygon(rplot,NULL,0,0,wdt,hgt,1,seacol,0x0f,0,NULL,
                   pmap,0);



  RplotEndPlot(rplot);
  return 0;
}
示例#2
0
int PlotRawEllipse(struct Rplot *ptr,
                struct RplotMatrix *matrix,
                float ox,float oy,float wdt,float hgt,
                double x,double y,double w,double h,
		double xmin,double xmax,
                double ymin,double ymax,
                int fill,unsigned int color,unsigned char mask,float width,
                struct RplotDash *dash) {

  float fx,fy,fw,fh;
 
  fx=ox+wdt*(x-xmin)/(xmax-xmin);
  fw=wdt*w/(xmax-xmin);
  fy=oy+hgt-hgt*(y-ymin)/(ymax-ymin);
  fh=hgt*h/(ymax-ymin);

  return RplotEllipse(ptr,matrix,fx,fy,fw,fh,fill,color,mask,width,dash);

}
示例#3
0
int main(int argc,char *argv[]) {

  int yr,mo,dy,hr,mt,sc;

  struct Rplot *rplot=NULL;

  float wdt=400,hgt=400;

  unsigned int bgcol=0xffffffff;
  unsigned int lndcol=0xffa0ffa0;
  unsigned int seacol=0xffa0a0ff;
  unsigned int grdcol=0xffa0a0a0;
 
  MapTransform  tfunc;
  float marg[3];
  char *envstr;
  FILE *mapfp;

  yr=2002;
  mo=31;
  dy=26;
  hr=22;
  mt=0;
  sc=0;

  envstr=getenv("MAPDATA");

  mapfp=fopen(envstr,"r");
  map=MapFread(mapfp);
  fclose(mapfp);   

  trm=SZATerminator(yr,mo,dy,hr,mt,sc,1,0,1.0,105.0);


  marg[0]=90.0;
  marg[1]=0.0;
  marg[2]=1.0;

  tfunc=MapStereographic;

  clip=MapCircleClip(10); 

  nmap=PolygonTransform(map,2*sizeof(float),PolygonXYbbox,
                        tfunc,marg);

  pmap=PolygonClip(clip,nmap); 

  ntrm=PolygonTransform(trm,2*sizeof(float),PolygonXYbbox,
                        tfunc,marg);

  ptrm=PolygonClip(clip,ntrm); 



  rplot=RplotMake();
  RplotSetText(rplot,stream,stdout);   
  RplotMakeDocument(rplot,"SZATerminator","1",wdt,hgt,24);

  RplotMakePlot(rplot,"SZATerminator",wdt,hgt,24);

  RplotRectangle(rplot,NULL,0,0,wdt,hgt,
                  1,bgcol,0x0f,0,NULL);
  RplotEllipse(rplot,NULL,wdt/2,hgt/2,wdt/2,hgt/2,
                  1,seacol,0x0f,0,NULL);

  MapPlotPolygon(rplot,NULL,0,0,wdt,hgt,1,lndcol,0x0f,0,NULL,
                   pmap,1);

  MapPlotPolygon(rplot,NULL,0,0,wdt,hgt,1,lndcol,0x0f,0,NULL,
                   pmap,3);
  
  MapPlotPolygon(rplot,NULL,0,0,wdt,hgt,1,seacol,0x0f,0,NULL,
                   pmap,0);

  MapPlotPolygon(rplot,NULL,0,0,wdt,hgt,1,grdcol,0x0f,0,NULL,
                 ptrm,1);

 


  RplotEndPlot(rplot);
  RplotEndDocument(rplot);
  return 0;
}
示例#4
0
int main(int argc,char *argv[]) {

    struct Rplot *rplot=NULL;

    float wdt=400,hgt=200;

    float src[2],dst[2];

    unsigned int lndcol=0xffa0ffa0;
    unsigned int seacol=0xffa0a0ff;
    unsigned int grdcol=0xffa00000;

    MapTransform  tfunc;
    float marg[3];
    int s;
    char *envstr;
    FILE *mapfp;

    envstr=getenv("MAPDATA");

    mapfp=fopen(envstr,"r");
    map=MapFread(mapfp);
    fclose(mapfp);

    marg[0]=0.0;
    marg[1]=0.0;
    marg[2]=1.0;

    tfunc=MapCylindrical;

    clip=MapSquareClip(10);

    nmap=PolygonTransform(map,2*sizeof(float),PolygonXYbbox,
                          tfunc,marg);
    wmap=MapWraparound(nmap);
    pmap=PolygonClip(clip,wmap);

    rplot=RplotMake();
    RplotSetText(rplot,stream,stdout);
    RplotMakeDocument(rplot,"MapCylindrical","1",wdt,hgt,24);

    RplotMakePlot(rplot,"MapCylindrical",wdt,hgt,24);

    RplotRectangle(rplot,NULL,0,0,wdt,hgt,
                   1,seacol,0x0f,0,NULL);

    MapPlotPolygon(rplot,NULL,0,0,wdt,hgt,1,lndcol,0x0f,0,NULL,
                   pmap,1);

    MapPlotPolygon(rplot,NULL,0,0,wdt,hgt,1,lndcol,0x0f,0,NULL,
                   pmap,3);

    MapPlotPolygon(rplot,NULL,0,0,wdt,hgt,1,seacol,0x0f,0,NULL,
                   pmap,0);

    src[0]=53.2;
    src[1]=160.0;

    s=MapCylindrical(2*sizeof(float),src,2*sizeof(float),dst,marg);

    if (s==0)
        RplotEllipse(rplot,NULL,wdt*dst[0],hgt*dst[1],8,8,
                     1,grdcol,0x0f,0,NULL);


    RplotEndPlot(rplot);
    RplotEndDocument(rplot);
    return 0;
}