Date: Thu, 3 Mar 2005 12:08:24 -0500
Reply-To: "Michael S. Zdeb" <msz03@HEALTH.STATE.NY.US>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: "Michael S. Zdeb" <msz03@HEALTH.STATE.NY.US>
Subject: Re: Center of Population
Content-type: text/plain; charset=US-ASCII
Hi...as Jack Hamilton mentioned in an earlier posting, PROC SUMNMARY makes
it pretty easy...based on...
http://www.uiowa.edu/~gishlth/UIORNL/2_SEER_reportl_ornl_0304.pdf
(page 8 - Algorithm for Population Centroids Derivation)
It's just a population weighted average of the centroids of the smaller
units. So, here are Albany county (NY) zip codes....x and y centroids in
radians. I think that this will work OK.....
data albany;
input zip x y pop;
datalines;
12009 1.29216 0.74521 7628
12023 1.29451 0.74360 2121
12041 1.29126 0.74275 14
12046 1.29002 0.74162 934
12047 1.28673 0.74669 18167
12054 1.28922 0.74360 16421
12059 1.29257 0.74375 1843
12067 1.29017 0.74277 1854
12077 1.28776 0.74344 5719
12084 1.28980 0.74525 4214
12110 1.28762 0.74617 20463
12120 1.29398 0.74102 539
12143 1.28894 0.74154 5348
12147 1.29413 0.74198 528
12158 1.28839 0.74250 5779
12159 1.28947 0.74427 7646
12183 1.28614 0.74608 2278
12186 1.29104 0.74402 6461
12189 1.28657 0.74585 16783
12193 1.29229 0.74201 2117
12202 1.28738 0.74408 10021
12203 1.28881 0.74490 32866
12204 1.28682 0.74500 6792
12205 1.28848 0.74552 26337
12206 1.28766 0.74478 16291
12207 1.28713 0.74442 2187
12208 1.28814 0.74438 21307
12209 1.28781 0.74416 9772
12210 1.28726 0.74451 9492
12211 1.28735 0.74534 10684
12303 1.29022 0.74610 27942
12469 1.29568 0.74086 783
;
run;
proc summary data=albany;
var x y;
weight pop;
output out=centroids (keep=cx cy) mean=cx cy;
run;
title 'Albany County Population Centroid - Based on ZIP Aggregation';
proc print data=centroids;
run;
Mike Zdeb
U@Albany School of Public Health
1 University Drive
Rensselaer, NY 12144-3456
(P)518-402-6479
(F)630-604-1475