Buffer poligoni vicini senza sovrapposizione usando QGIS


19

È possibile creare un buffer attorno ai poligoni vicini, in modo che i nuovi poligoni non si sovrappongano?

Preferibilmente in QGIS ma qualsiasi altro strumento lo farà.

Quindi, invece del primo risultato, vorrei ottenere qualcosa di simile al secondo:

inserisci qui la descrizione dell'immagine


1
Se non si desidera che il buffer si sovrapponga, è possibile dissolvere i poligoni del buffer. Tuttavia, non rifletterà la tua seconda immagine.
Joseph,

1
Tenderei per una sorta di soluzione raster, simile a questa risposta .
alphabetasoup,

Non conosco uno strumento QGIS che potrebbe farlo, ma in teoria potresti calcolare normalmente i buffer (possibilmente intersecando), e anche calcolare il diagramma (generalizzato) di Voronoi dei tuoi poligoni, quindi intersecare ogni poligono bufferizzato con il Voronoi cella contenente quel poligono. La libreria C ++ di Boost ha alcuni strumenti Voronoi che potrebbero funzionare, ma sarebbe un sacco di codice di colla C ++ da scrivere.
CSD

Risposte:


2

Un modo per farlo, a seconda della qualità / complessità del livello poligonale, è con i seguenti passaggi:

1) Estrai i vertici dai poligoni, assicurandoti che un campo univoco venga mantenuto come attributo

2) Crea un voronoi da questi punti

3) Buffer i poligoni originali per la quantità richiesta

4) Sottrarre i poligoni buffer dal voronoi

5) Ricombina / dissolvi i rimanenti poligoni voronoi nel campo dell'attributo univoco

Nel fare questo in passato con set di dati leggermente incoerenti ho dovuto fare ulteriori passaggi per rimuovere i manufatti dai nuovi poligoni:

  • Sottrai i poligoni originali dal nuovo livello per rimuovere artefatti poligonali
  • Aggiungi poligoni originali nel nuovo set di dati
  • Ricombina / dissolva nuovamente sul campo chiave

Il vantaggio del passaggio voronoi (come suggerito anche da CSD) è che fornisce confini perpendicolari, come mostrato dal diagramma dei requisiti.

Alcune di queste operazioni possono richiedere molto tempo ...


1

Se sei in grado di avere un account ArcGIS, puoi eseguire questo processo facilmente tramite ArcGIS Online. Quando si crea una mappa Web tramite Arc GIS Online, è possibile utilizzare una quantità limitata di strumenti di analisi. Lo strumento di analisi del buffer offre opzioni per sovrapporre o dissolvere i buffer. Da lì puoi esportare quel livello come file di forma.

Per QGIS, dovrai prima utilizzare lo strumento Crea buffer e inserire il raggio e l'unità di raggio che desideri. Quindi entrerai nei tuoi strumenti di geoprocessing e userai lo strumento Dissolve. Ciò dissolverà i confini dei buffer e fondamentalmente creerà qualcosa che assomiglia a un buffer di grandi dimensioni.


2
La soluzione QGIS non risulta nella seconda immagine! La mia comprensione è che i due poligoni arancioni avranno gli attributi dei due poligoni verdi e non si dissolveranno in un grande poligono
RutgerH,

0

se l'utilizzo dell'analisi raster è un'opzione, gli algoritmi della distanza di costo potrebbero essere un modo corretto. di solito, questi algoritmi forniscono anche distanza e allocazione-output - in base al risultato di allocazione (ovvero quale pixel è il più vicino a quale oggetto) un calcolo raster che seleziona qualsiasi pixel da allocazione-raster con una distanza <valore (da distanza raster) fornirebbe il risultato atteso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.