Il s'agit d'un processus en plusieurs étapes, vous devez donc créer un modèle ou un script personnalisé. Pour éviter les éclats de polygones appartenant aux points de polygone voisins, vous devrez parcourir votre couche d'états. En travaillant avec des polygones d'état et un ensemble de points aléatoires, je vais parcourir le processus afin que vous puissiez comprendre ce qui se passe à l'intérieur de notre modèle.
À l'intérieur du modèle
- Extraire par emplacement
- Extraire des fonctionnalités de:
points_layer
- Où les fonctionnalités:
intersect
- En comparant aux fonctionnalités de:
polygons_layer
- Polygones de Voronoi
- Couche d'entrée:
'Extracted (location)' from algorithm 'Extract by location'
- Région tampon:
500
(Cela semble excessif, mais nous voulons nous assurer que vos polygones Voronoi couvrent complètement l'état dans lequel ils se trouvent. Comme nous allons découper cette couche à l'étape suivante, la taille que nous faisons est sans importance.)
- Algorithmes parents:
Extract by location
- Agrafe
- Couche d'entrée:
'Voronoi polygons' from algorithm 'Voronoi polygons'
- Couche de superposition:
polygons_layer
- Coupé:
output
- Algorithmes parents:
Extract by location
etVoronoi polygons
Comme vous pouvez le voir, nous avons nos polygones de Voronoï contraints par l'état dans lesquels les points des états voisins n'affectent pas leur disposition.
Voici une image du modèle:
L'image ne transmet pas cela, mais notez que l'entrée de couche polygonale du modèle est un Vector Features
objet, pas un Vector Layer
.
Exécution du modèle
Lorsque vous allez exécuter votre modèle, il est essentiel de cliquer sur l'icône pour parcourir les fonctionnalités de votre couche États.
Une fois que vous avez exécuté le modèle, vous pouvez simplement exécuter Fusionner les calques vectoriels sur les sorties pour obtenir une sortie monocouche, si cela est important pour vous. Malheureusement, je ne suis pas au courant d'un moyen facile de fusionner plusieurs sorties de modèle dans le modèle lui-même (s'il vous plaît, quelqu'un me corrige s'il y a quelque chose).
Si vous êtes à l'aise avec Python, vous pouvez facilement modifier le script exporté de ce modèle pour gérer cette étape supplémentaire. Comme vous n'avez pas mentionné de solutions basées sur le code dans votre question, je laisserai cela de côté.