我想将美国州划分为大约相等人口的20个部分。我可以使用,例如,大片,邮政编码或其他较小的地理位置。我正在寻找一种算法来进行分区。它可以是任何语言或软件(ArcGIS,QGIS,python,PostGIS,R,节点)。
对于分组或聚类算法,我看起来像k-means,ArcGIS Grouping Analysis等。这些似乎没有做到需要,因为它们基于变量的相似性进行分组不要基于变量分割成相同的大小。我快速查看ESRI's districting tool表明这可能是一种可能性。
还有其他建议吗?
答案 0 :(得分:2)
您应该考虑Shortest splitline algorithm,建议用于创建optimally compact投票区。以下是a description解决gerrymandering的结果。
答案 1 :(得分:0)
您可以尝试质心加权voronoi图。即Loyds算法。选择voronoi图和每个voronoi细胞的重心并冲洗并重复:http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/