【问题标题】:Population-weighted center of a state一个州的人口加权中心
【发布时间】:2011-02-07 21:36:58
【问题描述】:

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

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

我正在使用名为 maps.uscity 的安装的 SAS 数据集。它还有一些变量,称为“弧度的投影对数/纬度”,我认为这可能允许我对这些数字进行简单的平均,但我不确定如何将它们恢复到未投影的坐标中。

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

【问题讨论】:

    标签: sas geography


    【解决方案1】:

    人口普查局实际上已经做了这些计算,并将结果发布在这里:http://www.census.gov/geo/www/cenpop/statecenters.txt

    有关计算的详细信息在此 pdf 中:http://www.census.gov/geo/www/cenpop/calculate2k.pdf

    【讨论】:

    【解决方案2】:

    要回答所提出的问题,听起来您可能正在寻找加权平均值。只需使用 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】:

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

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

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

    我可以回答很多地理空间问题。我是 OpenGeoCode.Org 的公共领域地理空间团队的一员

    【讨论】:

      【解决方案4】:

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

      1. 在该州任何地区的西南建立一个参考点。实际上,参考点在哪里并不重要,但是将它放在 SW 将使所有数字在我们通常认为的 x-y 发送中保持正数。
      2. 从此点逻辑延伸 N-S 和 E-W 线。
      3. 还将这些线路从城市延伸出来。
      4. 为每个城市获取其线到参考线的距离。这些是力臂。
      5. 将每个距离值乘以城市人口。实际上,您正在为每个城市获得时间。
      6. 添加所有时刻。
      7. 添加所有人口。
      8. 将矩的总和除以总体的总和,您就得到了相对于所涉及的总体参考点的重心。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-17
        • 1970-01-01
        • 2017-12-06
        • 1970-01-01
        • 2022-11-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多