これは複数ステップのプロセスなので、カスタムモデルまたはスクリプトを作成する必要があります。隣接するポリゴンポイントに属するポリゴンの断片を回避するために、statesレイヤーを反復処理する必要があります。状態ポリゴンとランダムなポイントのセットを使用して、モデル内で何が起こっているかを理解できるように、プロセスを説明します。
モデルの内部
- 場所で抽出
- 特徴を抽出する:
points_layer
- 機能:
intersect
- 以下の機能と比較して:
polygons_layer
- ボロノイポリゴン
- 入力レイヤー:
'Extracted (location)' from algorithm 'Extract by location'
- バッファ領域:(
500
過度に見えますが、ボロノイポリゴンがそれらの状態を完全にカバーするようにしたいと思います。次のステップでこのレイヤーをクリップするので、これをどのくらい大きくするかは関係ありません。)
- 親アルゴリズム:
Extract by location
- クリップ
- 入力レイヤー:
'Voronoi polygons' from algorithm 'Voronoi polygons'
- オーバーレイレイヤー:
polygons_layer
- クリップ:
output
- 親アルゴリズム:
Extract by location
およびVoronoi polygons
ご覧のとおり、隣接する状態からの点が配置に影響を与えない状態制約付きボロノイポリゴンがあります。
モデルの画像は次のとおりです。
画像はこれを伝えていませんが、モデルのポリゴンレイヤー入力はVector Features
でなくオブジェクトであることに注意してくださいVector Layer
。
モデルを実行する
モデルを実行するときは、アイコンをクリックして、Statesレイヤーの機能を反復処理することが重要です。
モデルを実行したら、重要な場合は、出力でMergeベクトルレイヤーを実行して、単一レイヤー出力を取得できます。残念ながら、私はモデル自体の中で複数のモデル出力をマージする簡単な方法を知りません(何かがあったら誰かが私を修正してください)。
Pythonに慣れている場合は、このモデルのエクスポートされたスクリプトを簡単に変更して、その追加のステップを処理できます。質問ではコードベースのソリューションについて言及しなかったので、省略します。