Suite

Tamponner les polygones voisins sans chevauchement à l'aide de QGIS

Tamponner les polygones voisins sans chevauchement à l'aide de QGIS


Est-il possible de créer une zone tampon autour des polygones voisins, afin que les nouveaux polygones ne se chevauchent pas ?

De préférence dans QGIS mais tout autre outil fera l'affaire.

Donc, au lieu du premier résultat, j'aimerais obtenir quelque chose de similaire au second :


Une façon de le faire, en fonction de la qualité/complexité de la couche de polygones, consiste à suivre les étapes suivantes :

1) Extraire les sommets des polygones, en veillant à ce qu'un champ unique soit conservé en tant qu'attribut

2) Créez un voronoi à partir de ces points

3) Tamponnez les polygones d'origine de la quantité requise

4) Soustraire les polygones tampons des voronoi

5) Recombiner/dissoudre les polygones de voronoi restants sur le champ d'attribut unique

Lorsque je faisais cela dans le passé avec des ensembles de données légèrement incohérents, j'ai dû effectuer des étapes supplémentaires pour supprimer les artefacts des nouveaux polygones :

  • Soustraire les polygones d'origine de la nouvelle couche pour supprimer les artefacts dans le polygone
  • Ajouter des polygones d'origine dans un nouveau jeu de données
  • Recombiner/dissoudre à nouveau sur le champ clé

L'avantage de l'étape de voronoi (comme suggéré également par csd) est qu'elle donne des limites perpendiculaires, comme l'a montré votre diagramme des exigences.

Certaines de ces opérations peuvent cependant prendre beaucoup de temps…


Si vous êtes en mesure d'avoir un compte ArcGIS, vous pouvez effectuer ce processus facilement via ArcGIS Online. Lors de la création d'une carte Web via Arc GIS Online, vous pouvez utiliser un nombre limité d'outils d'analyse. L'outil d'analyse des tampons vous offre des options pour superposer ou dissoudre les tampons. À partir de là, vous pouvez exporter ce calque sous forme de fichier de formes.

Pour QGIS, vous voudrez d'abord utiliser l'outil Créer des tampons et saisir le rayon et l'unité de rayon que vous souhaitez. Ensuite, vous accéderez à vos outils de géotraitement et utiliserez l'outil Fusionner. Cela dissoudra les limites de vos tampons et créera essentiellement quelque chose qui ressemble à un grand tampon.


si l'utilisation de l'analyse raster est une option, les algorithmes de distance de coût peuvent être un bon moyen. généralement, ces algorithmes fournissent également une sortie de distance et d'allocation - en fonction du résultat de l'allocation (c'est-à-dire quel pixel est le plus proche de quel objet) un calcul raster qui sélectionne n'importe quel pixel du raster d'allocation avec une distance < valeur (du raster de distance) donnerait le résultat attendu.


Si vous utilisez R, la fonctionmers_régionales()du {cartomisque}package peut calculer des polygones tampons qui ne se chevauchent pas.

Le flux de travail est expliqué ici : https://statnmap.com/2020-07-31-buffer-area-for-nearest-neighbor/

bref, lemers_régionales()la fonction effectue ces étapes automatiquement :

  1. fusionner les polygones en entrée
  2. créer un tampon des polygones fusionnés
  3. échantillons de points le long du contour du polygone fusionné
  4. créer des polygones de vonoroi
  5. croisent les polygones vonoroi par tampon créé à l'étape 2
  6. joindre les polygones de vonoroi avec les informations d'attribut des polygones d'entrée
  7. supprimer les polygones de vonoroi qui se chevauchent et qui coupent deux polygones en entrée
  8. union des polygones de vonoroi par variable d'intérêt

En entrée lemers_régionales()la fonction attend :

  • votre couche de polygone d'entrée
  • l'attribut de regroupement
  • la distance tampon
  • la densité de l'échantillon ponctuel

Voir la vidéo: Dessiner ajouter des polygones dans QGIS