在美国寻找给定中心点和半径的人口的算法

时间:2011-10-28 01:15:45

标签: ruby-on-rails algorithm

这就是我所拥有的

  1. 按美国人口普查邮政编码汇总的人口数据。
  2. 这就是我现在正在做的事情:

    1. 反向地理代码中心点以查找中心的邮政编码 点。
    2. 将lat-long与每个邮政编码相关联(通过反向地理编码,我知道 这将是容易出错的。)
    3. 使用,找到圆圈内的lat-longs(zip-codes) Geokit-Rails插件。
    4. 查找这些邮政编码的数据总和(邮政编码=中心点的拉链码或距离(邮政编码和中心点的长度之间)< radius)并显示。
    5. 我这样做了吗?找到人口有效方法吗?有没有可用的算法?

      我正在使用geokit-rails插件进行反向地理编码,并在圆圈内查找邮政编码(带有相关的lat-longs)。

1 个答案:

答案 0 :(得分:1)

不完全是一个解决方案,但我认为您的问题的一部分在于算法本身的概念。

您正在尝试获取数据无法准确提供的信息,因为其粒度(比例)未经过调整。在这种情况下,您使用的Centroid点代表一个区域,但肯定不能准确表示人口的空间分布。这就像试图用一个只有厘米标记的尺子来测量毫米......

你可以做一些事情来近似流行音乐。是创建一个常规网格点更精细的粒度插入您的人口数据(网格的每个点都将得到它的份额)它的ZIP区域人口)。这是一个与GIS相关的完全不同的问题,因此我建议您在gis.stackexchange社区寻求帮助。