Poligono levigante / generalizzante in QGIS?


38

È possibile smussare o generalizzare un poligono in QGIS, magari utilizzando un plug-in come il plug-in generalizer per le linee?

Potrei convertire i miei poligoni in linee, levigarli e riconvertirli in poligoni, ma questo non funziona per i miei poligoni per diversi motivi.

Risposte:


27

Puoi usare:

Vector menu -> Geometry tools -> Simplify Geometries

.

simp

Oltre a questo puoi usare l'algoritmo Douglas-Peucker anche in PostGis, quindi puoi usarlo in Postgis e aggiungere il livello Postgis a QGIS. puoi trovare alcune informazioni qui su Semplifica: Riduci il peso di una geometria.

SELECT simplify(the_geom,500) as simpgeom 
    FROM neighborhoods

simplfy


4
Ciò semplifica le linee, rendendole più frastagliate. C'è un modo per appianarli (che immagino dovrebbe interpolare alcuni punti)?
Nate Wessel,

Semplifica rimuove solo i vertici dalla linea o dal poligono, che possono comunque lasciare linee frastagliate. Vuoi il plug-in Generalizer se vuoi linee smussate.
MicheleTobias,

1
Per ulteriori informazioni, questo strumento è stato spostato in QGIS 2.16 nella casella degli strumenti Elaborazione / geoalgoritmi QGIS / Strumenti geometria vettoriale / Semplifica geometria
gisnside

20

La risposta di Aragon è buona per la generalizzazione. La risposta di Bryan è buona per levigare ma è un po 'contorta. Ecco due alternative per il livellamento:

  • Utilizzare lo v.generalizerstrumento GRASS dalla casella degli strumenti di elaborazione. Questo è il modulo su cui si basa il plug-in Generalizer QGIS nella risposta di Bryan. Lo strumento GRASS ti consente di utilizzare i poligoni in modo da evitare i passaggi della conversione in linee e viceversa. È uno strumento eccellente con MOLTI algoritmi per il livellamento / generalizzazione.
  • Utilizzare l'approccio "vecchia scuola" di buffer-debuffer. Basta bufferizzare i poligoni per un importo adeguato (la chiamata dipende dalla natura dei dati e dal grado di smoothing richiesto). Quindi de-buffer applicando lo stesso valore per la distanza del buffer ma rendendolo negativo questa volta. Se si dissolvono i buffer per la prima volta, è spesso possibile eliminare simultaneamente piccoli spazi vuoti o buchi di ciambella se necessario (anche se questo non è sempre desiderabile, quindi considerare attentamente prima di optare per lo scioglimento).

Il livellamento spesso implica l'aggiunta di vertici (specialmente con il metodo buffer-debuffer). Dopo il livellamento, è quindi possibile applicare la generalizzazione secondo la risposta di Aragon.


1
Bella dimostrazione dell'approccio buffer / de-buffer a Paul Ramsey: Removing Complexities
matt wilkie

Ottima idea! Ho usato entrambi gli approcci, Ramer (linee) e area-based, quest'ultimo dando polys un po 'più fluidi, ma ancora simile a filo spinato. Spero che questo approccio funzioni meglio.
culebrón,

16

Ho anche avuto fortuna usando il plugin Generalizer di QGIS (abilita plugin sperimentali), e poi:

Vector > Geometry Tools > Polygons to lines

Quindi utilizzare il plug-in Generalizer per smussare linee e vertici

Plugins > Generalizer > Generalizer
Algorithm: "Chaiken's Algorithm"

Quindi trasforma le linee in poligoni

Vector > Geometry Tools > Polygons to lines

Questo fa un lavoro migliore levigando le linee e arrotondando gli angoli. È un po 'goffo dover passare avanti e indietro tra linee e poligoni, ma funziona. So che ci sono modi per farlo anche tramite Grass, ma li ho trovati difficili da configurare.


Questo è un approccio utile: tuttavia, ho avuto buchi nei miei poligoni e non posso ricrearli con le linee-> strumento poligono
Djana,

6

Ora è disponibile l' Smooth geometryalgoritmo tramite Processing Toolbox > QGIS geoalgorithms > Vector Geometry Tools.

  1. Prendi oggetti geometrici frastagliatiinserisci qui la descrizione dell'immagine
  2. Imposta opzioni (ho cambiato il Iterationscampo in 5e sono stato soddisfatto del risultato)inserisci qui la descrizione dell'immagine
  3. Ottieni oggetto levigato inserisci qui la descrizione dell'immagine

L '"algoritmo della geometria uniforme" è ancora un'opzione valida? Dato che non ottengo i risultati desiderati usando altri algoritmi, stavo cercando questo algoritmo nella mia installazione di QGIS 2.14 ma non sono riuscito a trovarlo. Ho quindi installato QGIS 2.18.16 ma non riesco ancora a trovare questo algoritmo nella barra degli strumenti di elaborazione. Gradirei qualsiasi aiuto per trovarlo o installarlo.
Taya,

1
Ok, è stata trovata una soluzione al mio problema dopo il riavvio del sistema. Si è verificato un problema con il plug-in di elaborazione subito dopo il completamento della nuova installazione di QGIS 2.18. Il riavvio del sistema e QGIS hanno risolto questo problema e vedo l'algoritmo Smooth Geometry all'interno della casella degli strumenti di elaborazione.
Taya,

Dovrei controllare gisSE più spesso :) Sono contento che tu abbia trovato la soluzione
Mykola Kozyr,

Penso che ti stia perdendo un passo ... Ho la versione francese per la mia installazione di QGIS, quindi non posso aggiungere il passo da solo, ma da qualche parte lungo la linea ho dovuto scegliere "lisser".
user3386170

2

Fai clic destro sulla scheda principale (in alto), quindi attiva "toolbox" -> vedi come puoi vedere nella foto qui sotto inserisci qui la descrizione dell'immagine

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.