SI, confermo. Ma appunto il problema e' sapere quando siamo in una tale situazione.
Gia' sarebbe utile che qgis segnalasse la presenza di records cancellati. Ma la risoluzione tramite l'esportazione poi introduce altri problemi. (il mondo e' proprio difficile) L'ideale sarebbe stato che QGIS, quando si apre lo shapefile in editing e poi si richiude la sessione di editing, il QGIS anziche' lasciare tutto intonso provvedesse lui a a rimuovere i records cancellati logicamente. Questo sarebbe preferibile piuttosto che costringere a esportarli. Perche' la procedura di esportazione introduce altri tipi di problemi. Un per tutti. Nella versione 2.8 di qgis, ricordo bene che quando si esportava in formato shapefile. Ci si ritrovva con tutti i campi testuali a 255 caratteri. Lo ricordobene perche' shapefiles con milioni di records divenivano giganteschi. Te pensa infatti un dbf con 30 campi testuali da 10-15 caratteri ciascuno = 450 bytes per record. Se passi a 255 caratteri per campo testuale ti ritrovi che il singolo record occuperebbe 7.650 bytes. Se applichi questa cosa a uno shapefile che contiene chesso' 200.000 records vedi subito che ci sta la sua bella differenza. Lo ricordo bene questo fatto su qgis 2.8 Da allora non esporto piu' gli shapefile da qgis, ma bensi' da spatialite. Il quale a differenza di qgis esegue il conteggio dello spazio occupato e mi ridimensiona i campi al mnimo necessario. Per cui se vede che in un campo al massimo servoo 4 caratteri, crea un campo da 4 caratteri. QUESTO E' MEGLIO PERCHE' OCCUPA MENO SPAZIO DISCO E MENO BANDA A SCARICARE, ma anche questo secondo me non va bene. Perche' se io ho uno shapefile che da specifica , su un campo deve avere 32 caratteri, ritrovarmi con uno shapefile che su tale campo ha 255 caratteri oppure ne ha 4 (perche' al momentolo shapefile al massimo ha dati che occupano 4 caratteri) non e' corretto. Perche' potrebbe succedere che poi devi aggiungervi un ulteriore record che sfora i 4 caratteri, ma sempre dentro la specifica originaledi 32 e scopri che lo shapefile non lo accetta. Questo e' per dettagliare che l'esportzione porta dietro i suoi bei problemini anche quella. E quindi alla fine tra records cancellati logicamente ma sempre prsenti, esportazioni che fannocrescere mmolto le dimensioni dei files oppure che restringono i domini previsti per i campi, ci si trova sempre in grossi dilemmi. La migliore soluzione sarebbe che preso atto che la specifica shapefile non ammette la presenza dei records cancellati logicamente, i nuovi qgis dovrebbero segnalare la presenza di questi records e nel caso correggerli di loro iniziativa quando si apre e si richiude una sessione di editing. Senza costringere a esportazioni che fanno poi nascere altri problemi. Chiedo scusa se sono andato OT, ma immagino che queste cose siano sostanzilament eutili per chi lavora in questo settore. Considerato che non sono affatto cose banali nemmeno per chi ha riesce a orizzontarcisi. A. Cosa che puo' provocare la crescita abnorme della compoenente dbf nello shapefile. A onor del vero questa cosa della conversione dei campi testo a 255 caratteri la scoprii su qgis 2.8. Da allora non uso piu' qgis per generare gli shapefiles, ma passo sistematicamente da spatialite che invece eseguendo ilconteggio dei caratteri mi ottimizza lo spazio disco. A onor del vero nessuno dei due andrebbe bene, perche' se io ho uno shapefile con 52 caratteri su un campo testuale, vorrei che restassero 52 perche' sicuramente ci sar'a una specifica che dice cio'. E ritrovarmi con campi di 255 caratteri mi porta a file abnormi, e invece con campi minimizzati , rischio di divenire incompatibile con la specifica. Il 20 ottobre 2016 13:11, Sandro Santilli <s...@kbt.io> ha scritto: > On Thu, Oct 20, 2016 at 12:56:20PM +0200, Andrea Peri wrote: > >> Se chi ha prodotto lo shapefile ha usato un qgis ed e' passato dalle >> grinfie di un qgis inferiore alla 2.14.x esso puo' contenere dei dati >> che non dovrebbero esserci (perche' cancellati). > > [...] > >> Le nuove versioni diqgis hanno risolto il problema in maniera parziale. >> Infatti non marcano piu' una finta cancellazione sui dati che vengono >> editati. >> Ma non correggono il problema sugli shapefile antecedenti. > > Non ho provato direttamente, ma mi e' stato detto che salvando > lo shapefile incriminato, attraverso l'ultima versione di QGIS > (2.17.x o 2.14.x), i record cancellati "logicamente" vengono > definitivamente rimossi. Non confermi ? > >> Per risolvere non basta adottare l'ultima versione di GQIS; perche' >> esso non consente di rilevare il problema negli shapefile e >> correggerli. > > Credi debba solo avvertire, in fase di caricamento, della presenza di > record cancellati ? > > Esiste un ticket sul bug tracker di QGIS attraverso cui seguire > l'evoluzione di questo problema che mi pare ti affligga da tempo ? > > Io ho appena terminato di lavorare alla chiusura di bug marchiati > come "severi" sul tracker, ma non ne ho visto nessuno a proposito > di questo problema (forse non sono marchiati come "severi"?) > > --strk; -- ----------------- Andrea Peri . . . . . . . . . qwerty àèìòù ----------------- _______________________________________________ Gfoss@lists.gfoss.it http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 807 iscritti al 31/03/2016