聚合多边形以满足隐私要求
我有一个点要素类,代表某个行业中所有雇主的办公室位置。要素类具有用于存储在每个办公室工作的员工人数的属性。有人要求使用此数据,并在空间上连接到最小的地理单位(在这种情况下为人口普查区块)。但是,隐私协议阻止数据按原样发布。相反,必须抑制它以满足两个条件: 任何多边形必须包含至少3个用人单位(点); 一个多边形内最多只能有80%的就业机会由单个雇主提供。 我已经成功编写了一个脚本,该脚本将这些点在空间上连接到人口普查区块,并在每个区块中保持总和和最大用工。每个不符合抑制标准的标记。(不包含点的多边形不会被标记,因为没有抑制的数据。)然后,我检查每个块组,以查看其中是否包含任何标记的块。然后,仅包含未标记的块的块组将替换为这些块。然后对照抑制标准检查结果要素类,以检查块组是否已充分抑制数据。 对Tracts重复相同的过程,剩下的数据集包括Tracts(有些被标记,有些没有标记),Block Groups和Blocks(全部未标记)。但是,地理层次结构中的下一个进展是县,这对请求此数据的人毫无用处。 那么,我的问题是:是否存在任何普遍接受的将多边形聚合到尽可能多的组中的方法,以使所有这些都满足最低要求? 以下是一些我想应用于聚合的规则: 只要有可能,已标记的道仅应与其他已标记的道合并; 对于标记的与其他不连续的领域(或仍不符合标准的孤立组),可以将它们与已经符合标准的领域结合起来,尽管之间可能存在没有雇主的领域。需要包括在内。 除非绝对不可能,否则我希望保持县域边界不变(我希望通过在处理输入要素之前将其分为各自的县来做到这一点)。 解决方案必须使用Python,并使用ArcGIS工具或开源Python库。 理想情况下,有人可以向我指出实现此聚合的现有方法。如果没有,我将很高兴自己编写算法,尽管会特别感谢一些特定步骤/工具的列表。这个问题使我感到震惊,因为它是重新划分区域(具有不连续的多边形)的一种特殊情况,为此,我研究了使用PySAL的区域化算法,尽管我不清楚如何使用这些方法来检查最大雇主在总雇员中所占的百分比。