<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Really Need Assistance With Moving a Map Label in SAS EG 6.1. in Graphics Programming</title>
    <link>https://communities.sas.com/t5/Graphics-Programming/Really-Need-Assistance-With-Moving-a-Map-Label-in-SAS-EG-6-1/m-p/361306#M12602</link>
    <description>&lt;P&gt;Most of the code you posted is not needed. The key bit will be in this data step:&lt;/P&gt;
&lt;PRE&gt;data work.combinedanno;
   set 
      work.nameanno (in=Name)
	work.Hospanno (in=Hosp) ;
   if Name then position = '2';

   Else if Hosp then position = '5';
  	if county=123 then position = 'F';
	if county=43 then position = '9';
	if county=143 then position = 'E';

   /* this is where you could put if statements to adjust
      the x and or y coordinates to display name or value
   */
run;
&lt;/PRE&gt;
&lt;P&gt;You will need to examine the coordinate from you map of the counties or hospitals that you do not like.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then look them up in the above data set. You then conditional change either the x, the y or both coordinates.&lt;/P&gt;
&lt;P&gt;Suppose County x label has a coordinate of x= -0.027 and y= -0.035 (which since the center of the map is usually (0,0) ) and I want to move that label a little bit to the left (negative) and up (positive) I would add something like:&lt;/P&gt;
&lt;P&gt;If County = xxx then do;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; x= -0.033; ( or use x = x -0.006;)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; y= -0.03;&amp;nbsp;&amp;nbsp; (or use y = y + 0.005;)&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then rerun the data step making that annotate and retry the map. It may take a little while to get a feel for how much to change things.&lt;/P&gt;
&lt;P&gt;Note that the POSITION indicator is in relation to an (x,y) map point.&lt;/P&gt;
&lt;P&gt;If you have a number of adjustments then Select /when may make the code easier to follow:&lt;/P&gt;
&lt;P&gt;Select (County);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; when (xxx) do; x= x - 0.006; y= y+ 0.005; end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; when (yyy) do; x= x + 0.01 ; y= y- 0.01; end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; /* repeat for each county that needs a tweek*/&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; otherwise; /* do nothing for the ones with no change desired*/&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note I have a county label data set that I have manually set this way for pretty much every county as almost&amp;nbsp;none of ours are rectangular. I have that set in a permanent library and bring it out when I need to match a data value for display.&lt;/P&gt;
&lt;P&gt;And for school districts as well as multi-county adminstrative regions.&lt;/P&gt;</description>
    <pubDate>Wed, 24 May 2017 18:18:14 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2017-05-24T18:18:14Z</dc:date>
    <item>
      <title>Really Need Assistance With Moving a Map Label in SAS EG 6.1.</title>
      <link>https://communities.sas.com/t5/Graphics-Programming/Really-Need-Assistance-With-Moving-a-Map-Label-in-SAS-EG-6-1/m-p/361277#M12598</link>
      <description>&lt;P&gt;Hello I received help on this topic a while ago and my map is almost there. The issue is that i cannot move the hospital number on the map. I've tried everything under the sun, but I just cannot get the number moved for the counties where the label does not quite go in the middle.&amp;nbsp;Take Erie county&amp;nbsp;for instance. I&amp;nbsp;am able to reposition&amp;nbsp;Erie, but cannot move the 1. I'm hopping i am making some sense here.&amp;nbsp;I'm also hoping there&amp;nbsp;is someone who can&amp;nbsp;help me move this darn number. I have attached the code with the output. Thank you everyone.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;1                                                          The SAS System                              11:29 Wednesday, May 24, 2017

1          ;*';*";*/;quit;run;
2          OPTIONS PAGENO=MIN;
3          %LET _CLIENTTASKLABEL='Program';
4          %LET _CLIENTPROJECTPATH='';
5          %LET _CLIENTPROJECTNAME='';
6          %LET _SASPROGRAMFILE=;
7          
8          ODS _ALL_ CLOSE;
9          OPTIONS DEV=ACTIVEX;
10         GOPTIONS XPIXELS=0 YPIXELS=0;
11         FILENAME EGSR TEMP;
12         ODS tagsets.sasreport13(ID=EGSR) FILE=EGSR
13             STYLE=HtmlBlue
14             STYLESHEET=(URL="file:///C:/Program%20Files/SASHome/SASEnterpriseGuide/6.1/Styles/HtmlBlue.css")
15             NOGTITLE
16             NOGFOOTNOTE
17             GPATH=&amp;amp;sasworklocation
18             ENCODING=UTF8
19             options(rolap="on")
20         ;
NOTE: Writing TAGSETS.SASREPORT13(EGSR) Body file: EGSR
21         
22         GOPTIONS ACCESSIBLE;
23         proc gproject data=maps.counties out=ohio;
24         
25         /* State FIPS for Ohio */
26         
27         where state=39;
28         
29         id state county;
30         
31         run;

NOTE: PARALLEL1 = 39.296591805.
NOTE: PARALLEL2 = 41.084789971.
NOTE: MERIDIAN = 82.669167298.
NOTE: There were 4247 observations read from the data set MAPS.COUNTIES.
      WHERE state=39;
NOTE: The data set WORK.OHIO has 4247 observations and 6 variables.
NOTE: Compressing data set WORK.OHIO increased size by 150.00 percent. 
      Compressed is 5 pages; un-compressed would require 2 pages.
NOTE: PROCEDURE GPROJECT used (Total process time):
      real time           0.05 seconds
      cpu time            0.05 seconds
      

32         
33         quit;
34         proc sort data=mapsgfk.us_counties out=centroids;
35           by state county segment;
36         run;

NOTE: There were 1379662 observations read from the data set MAPSGFK.US_COUNTIES.
NOTE: The data set WORK.CENTROIDS has 1379662 observations and 13 variables.
NOTE: Compressing data set WORK.CENTROIDS increased size by 1.48 percent. 
      Compressed is 2056 pages; un-compressed would require 2026 pages.
NOTE: PROCEDURE SORT used (Total process time):
      real time           1.81 seconds
2                                                          The SAS System                              11:29 Wednesday, May 24, 2017

      cpu time            1.84 seconds
      

37         data centroids_temp;
38           retain yi yj xi xj a cx cy x0 y0 0;
39           set centroids(keep=state county segment lat long rename=(lat=yj long=xj));
40           by state county segment;
41           if(first.segment) then do;
42             cx = 0;
43             cy = 0;
44             a = 0;
45             x0 = xj;
46             y0 = yj;
47           end;
48           else if(not first.segment) then do;
49             ta = (xi*yj - xj*yi);
50             cx + ((xi+xj)*ta);
51             cy + ((yi+yj)*ta);
52             a + ta;
53           end;
54           if(last.segment) then do;
55             ta = (xj*y0 - x0*yj);
56             cx + ((xj+x0)*ta);
57             cy + ((yj+y0)*ta);
58             a  = ta + a * 0.5;
59             cx = cx / (6*a);
60             cy = cy / (6*a);
61             output;
62           end;
63           xi = xj;
64           yi = yj;
65         run;

NOTE: Division by zero detected at line 59 column 13.
NOTE: Division by zero detected at line 60 column 13.
yi=40.623819 yj=40.623819 xi=-73.424268 xj=-73.424268 a=0 cx=. cy=. x0=-73.424268 y0=40.623819 STATE=36 COUNTY=59 SEGMENT=170
FIRST.STATE=0 LAST.STATE=0 FIRST.COUNTY=0 LAST.COUNTY=1 FIRST.SEGMENT=0 LAST.SEGMENT=1 ta=0 _ERROR_=1 _N_=961421
NOTE: Division by zero detected at line 59 column 13.
NOTE: Division by zero detected at line 60 column 13.
yi=36.227656 yj=36.227656 xi=-75.79265 xj=-75.79265 a=0 cx=. cy=. x0=-75.79265 y0=36.227656 STATE=37 COUNTY=53 SEGMENT=112
FIRST.STATE=0 LAST.STATE=0 FIRST.COUNTY=0 LAST.COUNTY=1 FIRST.SEGMENT=0 LAST.SEGMENT=1 ta=0 _ERROR_=1 _N_=995393
NOTE: Missing values were generated as a result of performing an operation on missing values.
      Each place is given by: (Number of times) at (Line):(Column).
      76 at 49:13   76 at 50:14   76 at 51:14   
NOTE: Mathematical operations could not be performed at the following places. The results of the operations have been set to 
      missing values.
      Each place is given by: (Number of times) at (Line):(Column).
      2 at 59:13   2 at 60:13   
NOTE: There were 1379662 observations read from the data set WORK.CENTROIDS.
NOTE: The data set WORK.CENTROIDS_TEMP has 27310 observations and 13 variables.
NOTE: Compressing data set WORK.CENTROIDS_TEMP increased size by 14.63 percent. 
      Compressed is 47 pages; un-compressed would require 41 pages.
NOTE: DATA statement used (Total process time):
      real time           0.54 seconds
      cpu time            0.52 seconds
      

66         proc sql;
3                                                          The SAS System                              11:29 Wednesday, May 24, 2017

67           create table centroid_weight as
68           select
69             state, county, sum(a) as sum
70           from centroids_temp
71             group by state, county;
NOTE: Compression was disabled for data set WORK.CENTROID_WEIGHT because compression overhead would increase the size of the data 
      set.
NOTE: Table WORK.CENTROID_WEIGHT created, with 3143 rows and 3 columns.

72         quit;
NOTE: PROCEDURE SQL used (Total process time):
      real time           0.05 seconds
      cpu time            0.04 seconds
      

73         proc sql;
74           create table centroids as
75           select a.state, a.county,
76                  sum(cx*(a / sum)) as lat,
77                  sum(cy*(a / sum)) as long
78             from centroids_temp a
79             inner join centroid_weight b
80               on (a.state = b.state and a.county = b.county)
81             group by a.state, a.county;
NOTE: Compressing data set WORK.CENTROIDS increased size by 100.00 percent. 
      Compressed is 4 pages; un-compressed would require 2 pages.
NOTE: Table WORK.CENTROIDS created, with 3143 rows and 4 columns.

82         quit;
NOTE: PROCEDURE SQL used (Total process time):
      real time           0.08 seconds
      cpu time            0.09 seconds
      

83         proc sql;
84           drop table centroids_temp;
NOTE: Table WORK.CENTROIDS_TEMP has been dropped.
85           drop table centroid_weight;
NOTE: Table WORK.CENTROID_WEIGHT has been dropped.
86         quit;
NOTE: PROCEDURE SQL used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
      

87         PROC SQL;
88            CREATE TABLE WORK.FILTER_FOR_CENTROIDS AS
89            SELECT t1.STATE,
90                   t1.COUNTY,
91                   t1.lat,
92                   t1.long
93               FROM WORK.CENTROIDS t1
94               WHERE t1.STATE = 39;
NOTE: Compressing data set WORK.FILTER_FOR_CENTROIDS increased size by 100.00 percent. 
      Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: Table WORK.FILTER_FOR_CENTROIDS created, with 88 rows and 4 columns.

95         QUIT;
4                                                          The SAS System                              11:29 Wednesday, May 24, 2017

NOTE: PROCEDURE SQL used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      

96         
97         proc format library=work;
98          value ohiohos_
99          1 = '1'
100         2 = '2'
101         3 - 5 = '3 - 5'
102         6 - 7 = '6 - 7'
103         7 - 21 = '7 or more'
104         ;
NOTE: Format OHIOHOS_ is already on the library WORK.FORMATS.
NOTE: Format OHIOHOS_ has been output.
105        run;

NOTE: PROCEDURE FORMAT used (Total process time):
      real time           0.01 seconds
      cpu time            0.00 seconds
      

106        data work.numofhos0;
107        input county ohiohos @@;
108        HospText = put(ohiohos,ohiohos_.);
109        datalines;

NOTE: SAS went to a new line when INPUT statement reached past the end of a line.
NOTE: The data set WORK.NUMOFHOS0 has 88 observations and 3 variables.
NOTE: Compressing data set WORK.NUMOFHOS0 increased size by 100.00 percent. 
      Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.00 seconds
      
132        ;

133        run;
134        
135        proc sql;
136           create table work.ohnames as
137           select distinct county, countynm label='County Name'
138           from sashelp.zipcode
139           where state=39;
NOTE: Compressing data set WORK.OHNAMES increased size by 100.00 percent. 
      Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: Table WORK.OHNAMES created, with 88 rows and 2 columns.

140        quit;
NOTE: PROCEDURE SQL used (Total process time):
      real time           0.03 seconds
      cpu time            0.02 seconds
      

141        %annomac;
 
*** ANNOTATE macros are now available ***
5                                                          The SAS System                              11:29 Wednesday, May 24, 2017

 
 For further information on ANNOTATE macros, enter,
    %HELPANO(macroname), (for specific macros)
    %HELPANO(ALL), (for information on all macros)
 or %HELPANO (for a list of macro names)
 
142        %maplabel(work.ohio,work.ohnames,work.nameanno,countynm, county,font='Albany AMT/''boldt',
143                  color=black,size=1.5);

NOTE: There were 1 observations read from the data set WORK.OHIO.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
      


NOTE: There were 4247 observations read from the data set WORK.OHIO.
NOTE: The data set WORK.DATA109 has 4247 observations and 6 variables.
NOTE: Compressing data set WORK.DATA109 increased size by 150.00 percent. 
      Compressed is 5 pages; un-compressed would require 2 pages.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      


NOTE: There were 4247 observations read from the data set WORK.DATA109.
NOTE: The data set WORK.NAMEANNO has 88 observations and 8 variables.
NOTE: Compressing data set WORK.NAMEANNO increased size by 100.00 percent. 
      Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: PROCEDURE SUMMARY used (Total process time):
      real time           0.01 seconds
      cpu time            0.02 seconds
      


NOTE: There were 88 observations read from the data set WORK.NAMEANNO.
NOTE: The data set WORK.NAMEANNO has 88 observations and 4 variables.
NOTE: Compressing data set WORK.NAMEANNO increased size by 100.00 percent. 
      Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.00 seconds
      


NOTE: Compression was disabled for data set WORK.DATA109 because compression overhead would increase the size of the data set.
NOTE: There were 88 observations read from the data set WORK.NAMEANNO.
NOTE: There were 4247 observations read from the data set WORK.DATA109.
NOTE: The data set WORK.DATA109 has 184 observations and 3 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      


NOTE: There were 184 observations read from the data set WORK.DATA109.
NOTE: The data set WORK.DATA109 has 184 observations and 3 variables.
6                                                          The SAS System                              11:29 Wednesday, May 24, 2017

NOTE: PROCEDURE SORT used (Total process time):
      real time           0.01 seconds
      cpu time            0.00 seconds
      


NOTE: Compression was disabled for data set WORK.NAMEANNO because compression overhead would increase the size of the data set.
NOTE: There were 184 observations read from the data set WORK.DATA109.
NOTE: The data set WORK.NAMEANNO has 88 observations and 3 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      


NOTE: There were 88 observations read from the data set WORK.OHNAMES.
NOTE: The data set WORK.DATA110 has 88 observations and 2 variables.
NOTE: Compressing data set WORK.DATA110 increased size by 100.00 percent. 
      Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      


NOTE: There were 88 observations read from the data set WORK.DATA110.
NOTE: The data set WORK.DATA110 has 88 observations and 2 variables.
NOTE: Compressing data set WORK.DATA110 increased size by 100.00 percent. 
      Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      


NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      143:148   
WARNING: Multiple lengths were specified for the BY variable COUNTY by input data sets. This might cause unexpected results.
NOTE: There were 88 observations read from the data set WORK.NAMEANNO.
NOTE: There were 88 observations read from the data set WORK.DATA110.
NOTE: The data set WORK.NAMEANNO has 88 observations and 14 variables.
NOTE: Compressing data set WORK.NAMEANNO increased size by 100.00 percent. 
      Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.00 seconds
      


NOTE: There were 88 observations read from the data set WORK.NAMEANNO.
NOTE: 0 observations with duplicate key values were deleted.
NOTE: The data set WORK.NAMEANNO has 88 observations and 14 variables.
NOTE: Compressing data set WORK.NAMEANNO increased size by 100.00 percent. 
      Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      
7                                                          The SAS System                              11:29 Wednesday, May 24, 2017


144        %maplabel(work.ohio,work.numofhos0,work.Hospanno,ohiohos, county,font='Albany AMT/''boldt',
145                  color=black,size=1.7);

NOTE: There were 1 observations read from the data set WORK.OHIO.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
      


NOTE: There were 4247 observations read from the data set WORK.OHIO.
NOTE: The data set WORK.DATA111 has 4247 observations and 6 variables.
NOTE: Compressing data set WORK.DATA111 increased size by 150.00 percent. 
      Compressed is 5 pages; un-compressed would require 2 pages.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      


NOTE: There were 4247 observations read from the data set WORK.DATA111.
NOTE: The data set WORK.HOSPANNO has 88 observations and 8 variables.
NOTE: Compressing data set WORK.HOSPANNO increased size by 100.00 percent. 
      Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: PROCEDURE SUMMARY used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      


NOTE: There were 88 observations read from the data set WORK.HOSPANNO.
NOTE: The data set WORK.HOSPANNO has 88 observations and 4 variables.
NOTE: Compressing data set WORK.HOSPANNO increased size by 100.00 percent. 
      Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      


NOTE: Compression was disabled for data set WORK.DATA111 because compression overhead would increase the size of the data set.
NOTE: There were 88 observations read from the data set WORK.HOSPANNO.
NOTE: There were 4247 observations read from the data set WORK.DATA111.
NOTE: The data set WORK.DATA111 has 184 observations and 3 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      


NOTE: There were 184 observations read from the data set WORK.DATA111.
NOTE: The data set WORK.DATA111 has 184 observations and 3 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.00 seconds
      cpu time            0.01 seconds
      

8                                                          The SAS System                              11:29 Wednesday, May 24, 2017


NOTE: Compression was disabled for data set WORK.HOSPANNO because compression overhead would increase the size of the data set.
NOTE: There were 184 observations read from the data set WORK.DATA111.
NOTE: The data set WORK.HOSPANNO has 88 observations and 3 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
      


NOTE: There were 88 observations read from the data set WORK.NUMOFHOS0.
NOTE: The data set WORK.DATA112 has 88 observations and 3 variables.
NOTE: Compressing data set WORK.DATA112 increased size by 100.00 percent. 
      Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.01 seconds
      


NOTE: There were 88 observations read from the data set WORK.DATA112.
NOTE: The data set WORK.DATA112 has 88 observations and 3 variables.
NOTE: Compressing data set WORK.DATA112 increased size by 100.00 percent. 
      Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.02 seconds
      cpu time            0.01 seconds
      


NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column).
      145:148   145:1     145:1     
WARNING: Multiple lengths were specified for the BY variable COUNTY by input data sets. This might cause unexpected results.
NOTE: There were 88 observations read from the data set WORK.HOSPANNO.
NOTE: There were 88 observations read from the data set WORK.DATA112.
NOTE: The data set WORK.HOSPANNO has 88 observations and 14 variables.
NOTE: Compressing data set WORK.HOSPANNO increased size by 100.00 percent. 
      Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.00 seconds
      


NOTE: There were 88 observations read from the data set WORK.HOSPANNO.
NOTE: 0 observations with duplicate key values were deleted.
NOTE: The data set WORK.HOSPANNO has 88 observations and 14 variables.
NOTE: Compressing data set WORK.HOSPANNO increased size by 100.00 percent. 
      Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.01 seconds
      cpu time            0.00 seconds
      

146        
147        data work.combinedanno ;
148        	
149           set
9                                                          The SAS System                              11:29 Wednesday, May 24, 2017

150            work.nameanno (in=Name)
151        	work.Hospanno (in=Hosp)
152        	;
153        if Name then position = '2';
154        
155        Else if Hosp then position = '5';
156        if county=43 then position = '9';
157        if county=143 then position = 'E';
158        
159           /* this is where you could put if statements to adjust
160              the x and or y coordinates to display name or value
161           */
162        
163        run;

NOTE: There were 88 observations read from the data set WORK.NAMEANNO.
NOTE: There were 88 observations read from the data set WORK.HOSPANNO.
NOTE: The data set WORK.COMBINEDANNO has 176 observations and 15 variables.
NOTE: Compressing data set WORK.COMBINEDANNO increased size by 100.00 percent. 
      Compressed is 2 pages; un-compressed would require 1 pages.
NOTE: DATA statement used (Total process time):
      real time           0.02 seconds
      cpu time            0.01 seconds
      

164        title1 "Map of Ohio Hospitals By County";
165        
166         /* Generate a county map of Ohio with county labels */
167        
168        pattern1 v=s color=azure;
169        pattern2 v=s c=cyan;
170        pattern3 v=s color=ligr;
171        pattern4 v=s color=bisque;
172        pattern5 v=s c=bibg;
173        pattern6 v=s color=lime;
174        
175        
176        proc gmap data=work.numofhos0 map=work.ohio;
177           id  county;
178           choro ohiohos / anno=work.combinedanno
179                           discrete
180                           coutline=black;
181           format ohiohos ohiohos_.;
182           label ohiohos= "Number of Hospitals";
183        run;

184        quit;

NOTE: There were 176 observations read from the data set WORK.COMBINEDANNO.
NOTE: PROCEDURE GMAP used (Total process time):
      real time           0.09 seconds
      cpu time            0.06 seconds
      
184      !       title;

185        
186        
187        
10                                                         The SAS System                              11:29 Wednesday, May 24, 2017

188        GOPTIONS NOACCESSIBLE;
189        %LET _CLIENTTASKLABEL=;
190        %LET _CLIENTPROJECTPATH=;
191        %LET _CLIENTPROJECTNAME=;
192        %LET _SASPROGRAMFILE=;
193        
194        ;*';*";*/;quit;run;
195        ODS _ALL_ CLOSE;
196        
197        
198        QUIT; RUN;
199        &lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Thanks in advance&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc gproject data=maps.counties out=ohio;

/* State FIPS for Ohio */

where state=39;

id state county;

run;

quit;
proc sort data=mapsgfk.us_counties out=centroids;
  by state county segment;
run;
data centroids_temp;
  retain yi yj xi xj a cx cy x0 y0 0;
  set centroids(keep=state county segment lat long rename=(lat=yj long=xj));
  by state county segment;
  if(first.segment) then do;
    cx = 0;
    cy = 0;
    a = 0;
    x0 = xj;
    y0 = yj;
  end;
  else if(not first.segment) then do;
    ta = (xi*yj - xj*yi);
    cx + ((xi+xj)*ta);
    cy + ((yi+yj)*ta);
    a + ta;
  end;
  if(last.segment) then do;
    ta = (xj*y0 - x0*yj);
    cx + ((xj+x0)*ta);
    cy + ((yj+y0)*ta);
    a  = ta + a * 0.5;
    cx = cx / (6*a);
    cy = cy / (6*a);
    output;
  end;
  xi = xj;
  yi = yj;
run;
proc sql;
  create table centroid_weight as
  select
    state, county, sum(a) as sum
  from centroids_temp
    group by state, county;
quit;
proc sql;
  create table centroids as
  select a.state, a.county,
         sum(cx*(a / sum)) as lat,
         sum(cy*(a / sum)) as long
    from centroids_temp a
    inner join centroid_weight b
      on (a.state = b.state and a.county = b.county)
    group by a.state, a.county;
quit;
proc sql;
  drop table centroids_temp;
  drop table centroid_weight;
quit;
PROC SQL;
   CREATE TABLE WORK.FILTER_FOR_CENTROIDS AS 
   SELECT t1.STATE, 
          t1.COUNTY, 
          t1.lat, 
          t1.long
      FROM WORK.CENTROIDS t1
      WHERE t1.STATE = 39;
QUIT;

proc format library=work;
 value ohiohos_
 1 = '1'
 2 = '2'
 3 - 5 = '3 - 5'
 6 - 7 = '6 - 7'
 7 - 21 = '7 or more'
 ;
run;
data work.numofhos0;
input county ohiohos @@;
HospText = put(ohiohos,ohiohos_.);
datalines;
001 1 003 5 005 1 007 3
009 2 011 1 013 3 015 0
017 5 019 0 021 1 023 3
025 1 027 1 029 2 031 1
033 2 035 21 037 1 039 3
041 1 043 1 045 2 047 1
049 17 051 1 053 1 055 2
057 2 059 2 061 16 063 2
065 1 067 1 069 1 071 2
073 1 075 1 077 2 079 1
081 3 083 1 085 2 087 1
089 1 091 1 093 5 095 13
097 1 099 7 101 1 103 2
105 0 107 1 109 1 111 0
113 12 115 0 117 1 119 2
121 0 123 1 125 1 127 0
129 1 131 1 133 1 135 0
137 0 139 3 141 1 143 3
145 2 147 1 149 1 151 6
153 12 155 4 157 3 159 1
161 2 163 0 165 1 167 2
169 2 171 2 173 1 175 1
;
run;

proc sql;
   create table work.ohnames as
   select distinct county, countynm label='County Name'
   from sashelp.zipcode
   where state=39;
quit;
%annomac;
%maplabel(work.ohio,work.ohnames,work.nameanno,countynm, county,font='Albany AMT/''boldt',
          color=black,size=1.5);
%maplabel(work.ohio,work.numofhos0,work.Hospanno,ohiohos, county,font='Albany AMT/''boldt',
          color=black,size=1.7);

data work.combinedanno;
   set 
      work.nameanno (in=Name)
	work.Hospanno (in=Hosp) ;
   if Name then position = '2';

   Else if Hosp then position = '5';
  	if county=123 then position = 'F';
	if county=43 then position = '9';
	if county=143 then position = 'E';

   /* this is where you could put if statements to adjust
      the x and or y coordinates to display name or value
   */
run;
title1 "Map of Ohio Hospitals By County";

 /* Generate a county map of Ohio with county labels */

pattern1 v=s color=azure;
pattern2 v=s c=cyan;
pattern3 v=s color=ligr;
pattern4 v=s color=bisque;
pattern5 v=s c=bibg;
pattern6 v=s color=lime;


proc gmap data=work.numofhos0 map=work.ohio;
   id  county;
   choro ohiohos / anno=work.combinedanno 
                   discrete 
                   coutline=black;
   format ohiohos ohiohos_.;
   label ohiohos= "Number of Hospitals"; 
run;
quit; &lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BR /&gt;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/13876i5B9967B23B5DDAAB/image-size/large?v=1.0&amp;amp;px=600" border="0" alt="Last Ohio.PNG" title="Last Ohio.PNG" /&gt;</description>
      <pubDate>Wed, 24 May 2017 17:27:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Graphics-Programming/Really-Need-Assistance-With-Moving-a-Map-Label-in-SAS-EG-6-1/m-p/361277#M12598</guid>
      <dc:creator>10134458</dc:creator>
      <dc:date>2017-05-24T17:27:33Z</dc:date>
    </item>
    <item>
      <title>Re: Really Need Assistance With Moving a Map Label in SAS EG 6.1.</title>
      <link>https://communities.sas.com/t5/Graphics-Programming/Really-Need-Assistance-With-Moving-a-Map-Label-in-SAS-EG-6-1/m-p/361306#M12602</link>
      <description>&lt;P&gt;Most of the code you posted is not needed. The key bit will be in this data step:&lt;/P&gt;
&lt;PRE&gt;data work.combinedanno;
   set 
      work.nameanno (in=Name)
	work.Hospanno (in=Hosp) ;
   if Name then position = '2';

   Else if Hosp then position = '5';
  	if county=123 then position = 'F';
	if county=43 then position = '9';
	if county=143 then position = 'E';

   /* this is where you could put if statements to adjust
      the x and or y coordinates to display name or value
   */
run;
&lt;/PRE&gt;
&lt;P&gt;You will need to examine the coordinate from you map of the counties or hospitals that you do not like.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then look them up in the above data set. You then conditional change either the x, the y or both coordinates.&lt;/P&gt;
&lt;P&gt;Suppose County x label has a coordinate of x= -0.027 and y= -0.035 (which since the center of the map is usually (0,0) ) and I want to move that label a little bit to the left (negative) and up (positive) I would add something like:&lt;/P&gt;
&lt;P&gt;If County = xxx then do;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; x= -0.033; ( or use x = x -0.006;)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; y= -0.03;&amp;nbsp;&amp;nbsp; (or use y = y + 0.005;)&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then rerun the data step making that annotate and retry the map. It may take a little while to get a feel for how much to change things.&lt;/P&gt;
&lt;P&gt;Note that the POSITION indicator is in relation to an (x,y) map point.&lt;/P&gt;
&lt;P&gt;If you have a number of adjustments then Select /when may make the code easier to follow:&lt;/P&gt;
&lt;P&gt;Select (County);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; when (xxx) do; x= x - 0.006; y= y+ 0.005; end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; when (yyy) do; x= x + 0.01 ; y= y- 0.01; end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; /* repeat for each county that needs a tweek*/&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; otherwise; /* do nothing for the ones with no change desired*/&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note I have a county label data set that I have manually set this way for pretty much every county as almost&amp;nbsp;none of ours are rectangular. I have that set in a permanent library and bring it out when I need to match a data value for display.&lt;/P&gt;
&lt;P&gt;And for school districts as well as multi-county adminstrative regions.&lt;/P&gt;</description>
      <pubDate>Wed, 24 May 2017 18:18:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Graphics-Programming/Really-Need-Assistance-With-Moving-a-Map-Label-in-SAS-EG-6-1/m-p/361306#M12602</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-05-24T18:18:14Z</dc:date>
    </item>
    <item>
      <title>Re: Really Need Assistance With Moving a Map Label in SAS EG 6.1.</title>
      <link>https://communities.sas.com/t5/Graphics-Programming/Really-Need-Assistance-With-Moving-a-Map-Label-in-SAS-EG-6-1/m-p/361596#M12607</link>
      <description>Thank you so much for your assistance. It worked perfectly. I appreciate this so much.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 25 May 2017 13:49:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Graphics-Programming/Really-Need-Assistance-With-Moving-a-Map-Label-in-SAS-EG-6-1/m-p/361596#M12607</guid>
      <dc:creator>10134458</dc:creator>
      <dc:date>2017-05-25T13:49:16Z</dc:date>
    </item>
  </channel>
</rss>

