一个州的人口加权中心

时间:2011-02-07 21:36:58

标签: sas geography

我列出了州,每个州的主要城市,人口以及每个州的纬度/经度坐标。使用这个,我需要计算与州中心相对应的纬度和经度,并根据人口居住的地方加权。

例如,如果一个州有两个城市,A(人口100)和B(人口200),我希望该点的坐标位于A和B之间的2 / 3rds之间。

我正在使用名为maps.uscity的安装的SAS数据集。它还有一些变量称为“从Radians投射的逻辑/纬度”,我认为这可能只允许我采用简单的数字平均值,但我不知道如何将它们恢复到未投影的坐标。

更一般地说,如果任何人都可以建议一种直接的方法来计算它,那将非常感激。

4 个答案:

答案 0 :(得分:3)

人口普查局实际上已完成这些计算,并在此处公布结果:http://www.census.gov/geo/www/cenpop/statecenters.txt

有关计算的详情,请参阅此pdf:http://www.census.gov/geo/www/cenpop/calculate2k.pdf

答案 1 :(得分:0)

Itzy的回答是正确的。美国人口普查的lat / lng质心基于人口。相比之下,USGS GNIS数据的纬度/经度平均值基于行政边界。

Itzy引用的文件是2000年美国人口普查数据。人口普查局正在处理我们的2010年数据。以下链接是所有这些数据的细分。

http://www.census.gov/geo/www/tiger/

我可以回答很多地理空间问题。我是OpenGeoCode.Org

的公共领域地理空间团队的一员

答案 2 :(得分:0)

要回答被问到的问题,听起来你可能正在寻找加权平均值。只需使用PROC MEANS并对每个坐标进行加权平均:

/* data from http://www.world-gazetteer.com/ */
data AL;
input city $10 pop lat lon;
datalines;
Birmingham 242452 33.53 86.80
Huntsville 159912 34.71 86.63
Mobile     199186 30.68 88.09
Montgomery 201726 32.35 86.28
;
proc means data=AL;
weight pop;
var lat lon;
run;

答案 3 :(得分:0)

我相信你可以使用与计算飞机重心相同的方法来做到这一点:

  1. 在州的任何一个地方的西南方向建立一个参考点。实际上参考点在哪里并不重要,但是把它放在SW会使所有数字在通常的x-y发送中保持正数,我们倾向于想到事物。
  2. 从这一点开始在逻辑上扩展N-S和E-W线。
  3. 也从这些城市扩展这些线路。
  4. 为每个城市获取从其线到参考线的距离。这些是时刻的武器。
  5. 将每个距离值乘以城市人口。实际上,你将获得每个城市的时刻。
  6. 添加所有时刻。
  7. 添加所有人群。
  8. 将总时数除以总人口数,然后您的重心与所涉及人口的参考点相关。