Correggere gli errori di validità della geometria in QGIS?


31

Sto lavorando ai dati di proprietà a livello di contea degli Stati Uniti. Ho un file di forma per contea che contiene migliaia di pacchi fiscali. Devo dissolvere i poligoni che rappresentano i pacchi di proprietà dello stesso individuo. Quando lo shapefile non è pulito, lo strumento "Dissolve" in QGIS non sembra funzionare, si blocca. Devo prima risolvere i problemi di validità della geometria usando lo strumento "Verifica validità geometria". Tuttavia, a volte ho centinaia di errori. Ci vuole molto tempo per risolverli manualmente. Esistono altre strategie che potrebbero salvarmi un po 'di tempo?

Sto usando QGIS 2.4.0.


2
Hai provato a importare file in grass e ad utilizzare v.clean? probabilmente correggerà molti dei tuoi errori.
Sergio,

Risposte:


20

Prova a eseguire un buffer sottile sui poligoni. Un'impostazione di -0,001 se CRS è UTM sembrerebbe la pena provare. VETTORE | BUFFER


4
Ho provato la soluzione "Buffer" inizialmente suggerita da BillW. Ha risolto il 97% dei miei problemi, il che è abbastanza per me adesso. Posso finire il lavoro manualmente. Eseguendo un piccolo buffer sui poligoni non mi creerà alcun problema lungo la strada, credo. Ma vedo alcuni casi in cui l'utilizzo di ST_MakeValid o il tentativo di v.clean potrebbero essere migliori e più accurati.
Bap,

18

Quando ho un livello con errori, normalmente lo eseguo tramite la funzione GRASS v.clean nella Casella degli strumenti di elaborazione . Anche se non ho mai capito quale sia lo strumento migliore in ogni caso, di solito scelgo lì la funzione bpol .

Forse ancora più importante è impostare i parametri avanzati per la tolleranza di snap e l' area minima . A seconda del livello, di solito scelgo da 0,1 a 2 metri per lo scatto e, ad esempio, 10 mq per l'area minima.

Lo schiocco ad esempio allinea i confini che sono pensati per essere bordi condivisi ma hanno piccoli offset, l'area minima elimina piccoli frammenti da intersezioni ecc.

Insieme a bpol, questo normalmente risolve tutti gli errori senza cambiare troppo la topologia.


11

Puoi usare ST_MakeValid direttamente in QGIS aggiungendo il plugin lwgeom che aggiunge il provider lwgeom alla toolbox di elaborazione => puoi applicare MakeValid direttamente sul tuo livello caricato senza convertire in postigs / spatialite. Postgis / spatialite usa la stessa liblwgeom per fare ST_MakeValid

devi installare liblwgeom e configurare il provider di elaborazione per puntarlo

Il provider lwgeom può essere trovato come sperimentale: https://plugins.qgis.org/plugins/processinglwgeomprovider/


3
Ho appena rilasciato una nuova versione del provider processinglwgeom per essere utilizzabile con l'attuale versione principale dell'elaborazione qgis. (elaborazione in corso di refactoring)
Luigi Pirelli

2
Ciao @LuigiPirelli Ho provato a risolvere un problema simile usando il plug-in Lwgeom, ma si blocca sempre durante l'esecuzione e devo riavviare QGis. C'è un modo per risolvere questo problema? Grazie.
Alex Fernández Poulussen,

1
difficile da dire senza più il contesto corrente. A partire dal 2014 ci sono più strumenti di geometria di riparazione disponibili in qgis. Di solito un arresto anomalo in lwgeom è un problema di disallineamento (installazione sporca) nell'oggetto caricato o condiviso. hai testato altri strumenti?
Luigi Pirelli,

1
Funziona con QGIS 2.18? Non sembra funzionare nella mia versione di QGIS, github.com/faunalia/processinglwgeomprovider
RutgerH

1
Solo un aggiornamento ... da tempo QGIS3.x ha un algoritmo di fixgeometry nativo di elaborazione che è un wrapper per gli algoritmi MakeValid di GEOS. Non è necessario alcun db.
Luigi Pirelli,


2

Ho appena incontrato un problema simile in qgis. Ho avuto un poli ha iniziato a proiettare in modo errato. Ho usato Grass fuction v.clean nella casella degli strumenti di elaborazione come suggerito da Bernd. Sebbene bpol non abbia funzionato, sembra che sia stato corretto con la funzione di interruzione.

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.