%let name=antarc; filename odsout '.'; %let blue=cx1D7CF2; /* Trying to do an Antarctica map like the one on this page... http://ec.europa.eu/research/rtdinfo/special_pol/03/article_2597_en.html With long/lat gridlines like http://www.travelchampion.com/0startmenu/07maps/map08antarctica.jpg Those pages are now gone, so here's the "wayback machine" copy: https://web.archive.org/web/20070521033711/ec.europa.eu/research/rtdinfo/special_pol/03/article_2597_en.html https://web.archive.org/web/20041227192819/www.travelchampion.com/0startmenu/07maps/map08antarctica.jpg */ data mymap; set mapsgfk.antarctica (where=(lat>-89.999) drop=resolution); run; data locations; input latdeg latmin latdir $ 10-10 longdeg longmin longdir $ 21-21 countryname $ 23-39 name $ 40-80; size=4.5; lat= (latdeg + (latmin/60)); if latdir eq 'S' then lat=lat*-1; long=(longdeg + (longmin/60)); if longdir eq 'W' then long=long*-1; datalines; 80 0 S 119 30 W Antarctica Byrd 81 42 S 148 48 W Antarctica Simple Dome 77 48 S 158 42 E Antarctica Taylor Dome 66 42 S 112 48 E Antarctica Law Dome 75 6 S 123 0 E Antarctica EPICA Dome C 75 0 S 0 4 E Antarctica Dronning Maud Land (Kohnen) 77 18 S 39 42 E Antarctica Fuji Dome 79 0 S 107 0 E Antarctica Vostok Station ; run; data anno_locations; set locations; anno_flag=2; run; %let min_long=180; %let max_long=-180; %let min_lat=-85; %let max_lat=-65; data grid_anno; length function style color $8; xsys='2'; ysys='2'; hsys='3'; when='a'; anno_flag=1; do long = &min_long to &max_long by -10; function='label'; color='black'; longitude=long; latitude=&max_lat; text=trim(left(long))||'B0'x; position='b'; size=2.5; if long ne &max_long then output; color='graycc'; size=.1; line=1; /* dashed line */ function='move'; longitude=long; latitude=&min_lat; output; do lat = &min_lat to &max_lat by 5; function='draw'; longitude=long; latitude=lat; output; end; end; do lat = &min_lat to &max_lat by 5; function='label'; color='gray'; longitude=&min_long; latitude=lat; text=trim(left(lat))||'B0'x; position='c'; size=2.5; angle=0; if lat ne &max_lat then output; color='graycc'; size=.1; line=1; /* dashed line */ function='move'; latitude=lat; longitude=&min_long; output; do long = &min_long to &max_long by -10; function='draw'; latitude=lat; longitude=long; output; end; end; run; data grid_anno; set grid_anno; long=longitude; lat=latitude; run; /* combine, project, and separate */ data combined; set mymap anno_locations grid_anno; run; proc gproject data=combined out=combined latlong eastlong degrees dupok latmax=-64 /* where to clip the map */ to="EPSG:3031" /* or, use these options in older versions of SAS */ /* project=gnomon polelat=-90 */ ; id id; run; data mymap anno_locations grid_anno; set combined; if anno_flag=1 then output grid_anno; else if anno_flag=2 then output anno_locations; else output mymap; run; data anno_locations; set anno_locations; length function $8 style $35 color $8; xsys='2'; ysys='2'; hsys='3'; when='a'; length html $500; html= 'title='||quote(trim(left(name)))|| ' href="http://www.google.com/search?q='||trim(left(name))||'+'||trim(left(countryname))||'+ice+core+drilling"'; function='pie'; rotate=360; size=1; style='psolid'; color='red'; output; style='pempty'; color='gray'; html=''; output; run; data anno_stuff; set grid_anno anno_locations; run; goptions device=png; goptions xpixels=700 ypixels=620; goptions cback=white ctext=navy; goptions border; ODS LISTING CLOSE; ODS HTML path=odsout body="&name..htm" (title="Ice Core Drilling in Antarctica") style=htmlblue; goptions gunit=pct htitle=5 ftitle="albany amt" htext=3 ftext="albany amt"; pattern1 color=cxeff7ff; title1 c=graybb box=1 bcolor=cxeff7ff justify=left color=&blue link="https://web.archive.org/web/20070521033711/ec.europa.eu/research/rtdinfo/special_pol/03/article_2597_en.html" "Ice Core Drilling in Antarctica"; title2 h=10 " "; footnote h=8 " "; proc gmap data=mymap map=mymap anno=anno_stuff; id id; choro segment / levels=1 nolegend coutline=&blue des='' name="&name"; run; quit; ODS HTML CLOSE; ODS LISTING;