[QGIS-it-user] recuperare uno shapefile poligonale corrotto

Stefano Campus skampus a gmail.com
Ven 9 Apr 2021 03:06:07 PDT


grazie andrea per la tua dettagliata spiegazione.
ricordo una discussione di qualche anno fa sulla lista GFOSS proprio su
questi problemi legati alle coordinate, a cura di sandro furieri.
quello che spesso succede è che passando da una struttura fisica ad
un'altra o da un software ad un altro, si creiino degli errori dovuti
all'approssimazione delle coordinate.
se no ricordo male, ad esempio, arcgis aggancia alla sua griglia interna e
compie già un arrotondamento interno, così un dataset esportato da arcgis a
postgres o viceversa può dare adito a queste incongruenza.

s.

Il giorno ven 9 apr 2021 alle ore 11:23 Andrea Giudiceandrea <
andreaerdna a libero.it> ha scritto:

> Alessio Degioannini wrote
> >> - il plugin core "Geometry Checker"
> > In pratica, più tenti di correggerli, più gli
> > errori aumentano: effettivamente il plugin non pare funzionare come
> > dovrebbe.
>
>
> Ciao Alessio,
> come ti accennavo il plugin "Geometry Checker" purtroppo attualmente
> presenta vari bug relativi alle funzionalità di soluzioni dei problemi
> geometrici/topologici soprattutto per quanto riguarda le sovrapposizioni e
> i
> gap, come puoi notare anche leggendo le varie segnalazioni di bug in
> proposito. In particolare, come ti dicevo, le sovrapposizioni non vengono
> corrette. https://github.com/qgis/QGIS/issues/29556
>
> Inoltre, per esempio, la tabella riassuntiva degli errori "corretti" e dei
> nuovi errori trovati è spesso totalmente errata.
> https://github.com/qgis/QGIS/issues/34664
>
> Non noto problemi invece per le funzionalità di controllo dei problemi
> geometrici/topologici.
>
> Ho verificato lo shapefile poligoni.shp che mi hai inviato con 756 feature.
> Tutti e tre i tool in QGIS non riportano alcun errore nelle geometrie. Ho
> effettuato la verifica anche con ArcMap 9.3.1 e anch'esso non riporta alcun
> errore geometrico.
>
> Non ho effettuato verifiche né tramite gli appositi tool dei geo database
> PostGIS/PostgreSQL e Spatialite/SQLite, né tramite quelli eventualmente
> esistenti in GRASS o SAGA.
>
> Comunque, per riparare errori delle geometrie, il tool di processing QGIS
> "Fix geometries" funziona abbastanza bene ed è progettato per usare lo
> stesso algoritmo di soluzione degli errori geometrici usato da PostGIS.
>
>
> Per quanto riguarda invece la presenza di gap o overlaps, effettivamente lo
> shapefile ne contiene svariati (circa un migliaio tra gaps e overlaps
> secondo Topology Checker, circa 500 secondo Geometry Checker con tolleranza
> impostata di default a 1E-8), ma, da quello che ho potuto verificare
> controllando il valore delle coordinate memorizzato nello shapefile, quasi
> tutti sono dovuti al fatto che vari vertici di poligoni adiacenti
> differiscono di pochissimo fra loro.
>
> Per farti un esempio, due punti corrispondenti di due poligoni adiacenti
> presentano lo stesso identico valore della coordinata Y mentre i valori
> della coordinata X sono:
> 1: 409478,23033759469...
> 2: 409478,23033759475,,,
> e quindi differiscono di circa 0,00000000006 metri = 0,06 nanometri, che è
> circa l'ordine di grandezza delle dimensioni degli atomi.
>
> Non so come sono state create queste piccolissime discrepanze, ma in
> generale tali livelli di precisione delle coordinate in ambito GIS è
> solitamente eccessivo e inutile.
>
> Solitamente è meglio fare in modo che le coordinate dei vertici delle
> geometrie siano memorizzate con una precisione accettabile, per esempio
> 0,001 metri o 0,005 metri, di fatto facendo in modo che ogni vertice possa
> ricadere solo nei nodi di una griglia di 0,001 x 0,001 metri o 0,005 x
> 0,005
> metri.
>
> Per fare questo puoi usare il tool di processing QGIS "Snap points to grid"
> impostando per esempio il valore di 0,005 per X e 0,005 per Y.
>
> Se effettui a questo punto i controlli di validità, vedrai che il layer
> risultante non avrà errori di geometria, come il layer di partenza, ma
> verranno riscontrati solo 72 gaps e 0 overlaps sia dal Topology Checker che
> dal Geometry Checker (lasciando a 0 il valore di soglia per l'area di gaps
> e
> overlaps).
>
> Dalla tabella dei risultati del controllo effettuato da Geometry Checker,
> ordinando l'elenco degli errori per la colonna Value vedrai che ci sono
> solo
> due gaps con superficie inferiore a 0,01 metri quadrati mentre gli altri 70
> hanno superfici superiori a 8 metri quadrati.
>
> Questo significa che solo i primi due gaps con superficie inferiore a 0,01
> metri quadrati potrebbero essere effettivi gaps da correggere manualmente,
> mentre gli altri 70 in realtà corrispondono a "buchi" interni ai poligoni.
>
> Infatti solitamente si fissa una valore di area di soglia piccola (a
> seconda
> dei propri dati) ma maggiore di 0 per l'individuazione dei gaps. Fissandola
> per esempio a 1 metro quadrato, Geometry Checker elencherà solo due gaps.
>
> Per correggere questi unici due gaps, basta editare il layer e rimuovere in
> entrambi i casi il vertice in più.
>
> Per imporre uno "snapping" fisso su griglia anche durante la digitazione o
> modifica di geometrie, puoi impostare per ogni layer la precisione scelta
> per la memorizzazione delle coordinate con l'opzione "Geometry precision"
> nella tab Digitizing delle proprietà del layer. Nella stessa finestra di
> impostazioni possono essere impostate altre verifiche geometriche e
> topologiche che vengono effettuate automaticamente prima del salvataggio
> del
> layer.
>
> Non riscontrato crash, né "propagazione degli errori" facendo delle prove
> di
> editazione del layer: forse sei stato fuorviato dalla errata tabella
> riassuntiva degli errori "corretti" e dei nuovi errori trovati del Geometry
> Checker.
>
> Spero di esserti stato utile e spero magari che qualche altro utente più
> esperto di PostGIS e Spatialite o GRASS e SAGA possa proporre altre
> soluzioni.
>
> Comunque penso che lo snapping alla griglia sia già una soluzione
> abbastanza
> veloce e sicura.
>
> A presto.
>
> Andrea
>
>
>
> --
> Sent from:
> http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html
> _______________________________________________
> QGIS-it-user mailing list
> QGIS-it-user a lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/qgis-it-user
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.osgeo.org/pipermail/qgis-it-user/attachments/20210409/68e25d86/attachment-0001.html>


Maggiori informazioni sulla lista QGIS-it-user