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