Sas 一个州的人口加权中心

Sas 一个州的人口加权中心,sas,geography,Sas,Geography,我有一个州的列表,每个州的主要城市,他们的人口,以及每个州的纬度/经度坐标。使用这个,我需要计算与一个州的中心相对应的纬度和经度,根据人口居住的地方进行加权 例如,如果一个州有两个城市,a(人口100)和B(人口200),我需要位于a和B之间2/3的点的坐标 我正在使用安装的SAS数据集,名为maps.uscity。它也有一些变量叫做“投影逻辑度/弧度纬度”,我想这可能让我只需要简单的平均数,但我不知道如何将它们恢复到未投影的坐标 更一般地说,如果有人能提出一种简单的计算方法,我们将不胜感激。人

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

例如,如果一个州有两个城市,a(人口100)和B(人口200),我需要位于a和B之间2/3的点的坐标

我正在使用安装的SAS数据集,名为
maps.uscity
。它也有一些变量叫做“投影逻辑度/弧度纬度”,我想这可能让我只需要简单的平均数,但我不知道如何将它们恢复到未投影的坐标


更一般地说,如果有人能提出一种简单的计算方法,我们将不胜感激。

人口普查局实际上已经完成了这些计算,并将结果发布在这里:


有关计算的详细信息,请参见本pdf:

Itzy的回答是正确的。美国人口普查的lat/lng质心基于人口。相反,美国地质勘探局GNIS数据的lat/lng平均值基于行政边界

Itzy引用的文件是2000年美国人口普查数据。人口普查局正在处理2010年数据的滚动数据。以下链接是指向所有这些数据的segway


我能回答很多地理空间问题。我是OpenGeoCode.Org公共领域地理空间团队的一员。为了回答这个问题,听起来你可能在寻找加权平均值。只需使用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;

我相信你可以使用计算飞机重心的相同方法:

  • 在该州任何地方的西南部建立一个参考点。实际上,参考点在哪里并不重要,但在通常的x-y发送中,将其置于SW将保持所有数字为正,我们倾向于思考问题
  • 从该点逻辑上延伸N-S和E-W线
  • 也可以从城市延伸这些线路
  • 对于每个城市,获取其线到参考线的距离。这些是手臂的时刻
  • 将每个距离值乘以城市人口。实际上,每个城市都有自己的机会
  • 加上所有的时刻
  • 加上所有的人口
  • 将力矩的总和除以总体的总和,就得到了相对于所涉及总体的参考点的重心

  • 我认为那不太对。我可能错了,但我认为你不能只是平均纬度和经度。人口普查局的文件(link是公认的答案)提供了进行加权的正确公式。link已断——请尝试以下方法: