*
;
/*
Subject: SASTip: New projections in SAS/Graph, GProject
   Date: Sat, 20 Sep 1997 22:58:43 +0100
   From: Philip Mason 
 Newsgroups: comp.soft-sys.sas


There are a range of new undocumented projections available in Proc
Gproject (SAS/Graph) for version 6.12. The code that follows can be run to
display the effect of each projection. You could further enhance the
example by adding a PROC GREPLAY to combine sets of the graphs onto one
page for reference purposes.

Remember that undocumented features in SAS are not supported by SAS
Institute. If you find an undocumented feature that you like, then tell
someone at SAS Institute and you might find that it becomes a production
feature in the next release.



Philip Mason
Freelance SAS Consultant

16 Wood Street, Wallingford, Oxfordshire, OX10 0AY, England
Phone: +44 1491 834615   Fax:  +44 1491 834615
Mailto:phil@wood-st.demon.co.uk

ftp://escher.ihs.ox.ac.uk/pub/views
http://www.sas.com/service/doc/pubcat/uspubcat/ind_files/55513.html*/

******************** START OF EXAMPLE CODE *********************;

data grid;
   retain cont -1 id -1 segment 0;
   retain;
   if _n_=1 then
      d2r = atan (1) / 45;
   do x0 = -180 to 175 by 10;
      do y0 = -80 to 90 by 10;
         segment + 1;
         x = x0*d2r;
         y = y0*d2r;     output;
         x + 10*d2r;     output;
         y = y - 10*d2r; output;
         x = x0*d2r;     output;
         end;
      end;
   run;

%macro projtest( proj, parms );

   proc gproject data=grid out=grat proj=&proj &parms;
   id cont id;
   run;

   title "Projected with &PROJ  &PARMS";
   proc gmap map=grat data=grat;
   id cont id;
   pattern r=10 v=e;
   choro cont / nolegend discrete;
   run;
   quit;
%mend;

%projtest(ALBERS, %str(PARALLEL1=30 PARALLEL2=65))
%projtest(LAMBERT, %str(PARALLEL1=30 PARALLEL2=65))
%projtest(GNOMON, %str(POLELAT=90 POLELONG=0))
%projtest(MERCAT, %str(POLELAT=90 POLELONG=0))
%projtest(NONE)
%projtest(EQUIRECT)
%projtest(MILLER1)
%projtest(MILLER2)
%projtest(CYLINDRICAL)
%projtest(AITOFF)
%projtest(HAMMER)
%projtest(PARABOLIC)
%projtest(APIANUS)
%projtest(ARAGO)
%projtest(ADAMS)
%projtest(KVRSKY7)
%projtest(ECKERT1)
%projtest(ECKERT5)
%projtest(ORTHO)
%projtest(ORTHO, HEMISPHERE POLE=(0 90))
%projtest(BEHRMANN)
%projtest(PETERS)
%projtest(PUTNINS4)
%projtest(WINKEL2)
%projtest(ECKERT3)
%projtest(STEREO)
%projtest(BRAUN)
%projtest(GALL)
%projtest(ROBINSON)

******************** END OF EXAMPLE CODE *********************;

*
;