在 Python 中合并地理数据框多边形以满足人口阈值

问题描述 投票:0回答:1

我有一个 Python 地理数据框,其中包含代表各个区域的多边形,每个区域都有其各自的人口数量。我的目标是以确保每个生成的多边形至少包含指定的人口阈值 (x) 的方式合并这些多边形。

以下是问题的简要概述:

输入数据:地理数据框,其中每行代表一个多边形(区域)及其相关的人口计数。

目标:递归合并相邻多边形,直到所有生成的多边形都包含最小人口阈值“x”。理想情况下,同时保持尽可能高的粒度。

现在,我正在寻找有关可以有效处理此类空间操作的算法(或框架)的建议。理想情况下,该解决方案应该可针对大型数据集进行扩展。我尝试自己实现它,但不断遇到各种问题,例如必须在每次迭代后重新计算邻居或更新生成的多边形的几何形状等。我也无法通过谷歌搜索找到任何有用的东西。

我有一些具体问题:

  1. 是否有任何常用的基于人口阈值的空间合并类型的既定算法?
  2. 是否有任何 Python 库或框架可以解决此任务?
  3. 在实施此解决方案时,我应该牢记哪些最佳实践或注意事项?我知道矢量化和空间索引可以帮助加快算法速度。

任何指导、建议或代码片段将不胜感激!预先感谢您的帮助。

python geospatial computational-geometry geopandas shapely
1个回答
0
投票

我认为“Max-P Regionalization”算法可能是一个很好的解决方案:

max-p 问题涉及一组地理区域的聚类 进入最大数量的同质区域,使得 空间广泛的区域属性高于预定义的 阈值。空间扩展属性可以指定为 确保每个区域都有足够的人口规模,或者 最小枚举单元数。区域数量为 问题的内生性,对于区域化问题很有用 分析师不需要先验固定数量的区域。

更多信息可以在这里找到。

© www.soinside.com 2019 - 2024. All rights reserved.