プライバシー要件を満たすためのポリゴンの集約
特定の業界のすべての雇用主のオフィスの場所を表すポイントフィーチャクラスがあります。フィーチャクラスには、各オフィスで働いている従業員の数を格納するための属性があります。誰かがこのデータを使用するように要求しました。この場合、可能な限り最小の地理単位(国勢調査区)に空間的に結合されています。ただし、プライバシー契約により、データがそのままリリースされることはありません。代わりに、次の2つの条件を満たすように抑制する必要があります。 ポリゴンには少なくとも3つの雇用者(ポイント)が含まれている必要があります。 ポリゴン内の総雇用の80%以下は、単一の雇用者によるものです。 ポイントを国勢調査区に空間的に結合し、それぞれの合計と最大雇用を維持するスクリプトを作成できました。抑制基準を満たさないものにはフラグが立てられます。(ポイントを含まないポリゴンには、抑制するデータがないため、フラグが付けられません。)次に、各ブロックグループをチェックして、フラグが付けられたブロックが含まれているかどうかを確認します。フラグの付いていないブロックのみを含むブロックグループは、ブロックで置き換えられます。次に、結果のフィーチャクラスが抑制基準に対してチェックされ、ブロックグループがデータを適切に抑制しているかどうかがチェックされます。 同じプロセスがTractsでも繰り返され、Tracts(フラグ付きとフラグなし)、ブロックグループとブロック(すべてフラグなし)で構成されるデータセットが残ります。ただし、地理的階層の次の進歩は郡であり、このデータを要求する人には役に立たない。 次に、私の質問は次のとおりです。ポリゴンをできるだけ多くのグループに集約して、すべてがいくつかの最小基準を満たすように一般的に受け入れられている方法はありますか? 集約に適用したいいくつかのルールを以下に示します。 フラグが付けられたトラクトは、可能な限り、他のフラグが付けられたトラクトとのみ集約する必要があります。 他と隣接していないフラグ付きトラクト(またはまだ基準を満たさない孤立したグループ)の場合、それらはすでに基準を満たしているトラクトと結合できますが、その間に雇用主がいないトラクトも存在する場合があります。含める必要があります。 絶対に不可能な場合を除いて、郡の境界をそのままにしたいと思います(入力フィーチャをそれぞれの郡に分離してから処理することで、これを行うことを期待しています)。 ソリューションは、ArcGISツールまたはオープンソースのPythonライブラリを使用して、Pythonで作成する必要があります。 理想的には、誰かがこの集約を実装する既存の手段を私に指摘することができます。そうでない場合は、自分でアルゴリズムをコーディングしてもかまいませんが、特定の手順/ツールのリストをいただければ幸いです。この問題は、(不連続なポリゴンを使用した)再区画の特殊なケースとして私を襲い、この目的のために、PySALの地域化アルゴリズムの使用を検討しましたが、これらを使用する全従業員の最大雇用者の割合を確認する方法はわかりません。