GIS:按人口均等划分区域

GIS: partition area based on equal population

我想将美国的一个州划分为人口大致相等的 20 个部分。我可以使用区域、邮政编码或其他较小的地理区域来做到这一点。我正在寻找一种算法来进行分区。它可以是任何语言或软件(ArcGIS、QGIS、python、PostGIS、R、node)。

对于分组或聚类算法,我研究过 k-means、ArcGIS 分组分析等。这些算法似乎无法满足需要,因为它们是根据 相似性 的变量不会根据变量划分为相等的大小。我快速浏览 ESRI's districting tool 表明这可能是一种可能性。

还有其他建议吗?

您可以尝试质心加权 voronoi 图。即 Loyds 算法。选择 voronoi 图和每个 voronoi 单元的重心并冲洗并重复:http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/

您应该考虑 Shortest splitline algorithm, recommended for creating optimally compact voting districts. Here is a description 解决不公正分配的结果。