[Gfoss] Tabella spatialite e fallimento dello zoom all'estensione del layer con QGis

Luca Mandolesi mandoluca a gmail.com
Mar 18 Nov 2014 17:17:27 CET


Ciao Alessandro,
ho fatto tutte le verifiche del caso...nulla pare essere tutto ok...la cosa
stranissima è che dentro Qgis ho una vista,
che, anche se settata con una query verso un certo pacchetto di geometrie
collocate tutte vicine,
l'estensione al layer a cui va qgis è quella delle geometrie di tutta la
tabella geometrica che contiene il campo geom.

A questo punto mi faccio tale domanda: provo a sbatterci la testa per
trovare un eventuale bachetto...magari in Qgis nel leggere la mia
view ipoteticamente corrotta, oppure meglio che butto via la tabella e la
view e rifaccio tutto pulito e verificare se il problema
persiste?

Il DB è quello distribuito col plugin pyarchinit, quindi va sempre sputato
fuori vuoto o al massimo col
dataset del tutorial..quindi danni non ne faccio...ma ovvio che così se
scrivo che facendo una query e poi zoom all'estensione del layer si
dovrebbe zoomare alle geometrie verrei smentito dal canvas di Qgis che se
ne starebbe immobile nel nulla! :)


Grazie per i suggerimenti
Luca



Il giorno 17 novembre 2014 15:55, <a.furieri at lqt.it> ha scritto:

> On Mon, 17 Nov 2014 15:41:22 +0100, Luca Mandolesi wrote:
>
>> E' possibile che la mia tabella spatialite sia "corrotta" e che non
>> riesca più a capire bene la propria estensione a seconda della query
>> attiva?
>>
>>
> non e' affatto impossibile che lo Spatial Index si corrompa.
> in genere accase quando:
> - la tavola non ha nessuna Primary Key, oppure ha una Primary Key
>   che non e' composta da un'unica colonna INTEGER
> - e' stato fatto un VACUUM che ha riordinato fisicamente tutte le
>   righe facendo cosi' impazzire i ROWIDs
>
>
>  Qualcuno ha una mezza idea di dove mettere le mani?
>>
>>
> prima verifica se hai tavole senza ROWID o com shadowed-ROWID:
>
> SELECT f_table_name, CheckShadowedRowid(f_table_name),
>     CheckWithoutRowid(f_table_name)
> FROM geometry_columns;
>
> se tutto va bene vedrai tutto a ZERO; se vedi qualche 1 invece
> significa che hai problemi.
>
> poi vai a verificare se ci sono Spatial Index corrotti:
>
> SELECT CheckSpatialIndex();
>
> qua funziona all'inverso: se torna 1 tutto bene, altrimenti
> se torna ZERO ci sono problemi. in quest'ultimo caso per
> rimettere tutto a posto:
>
> SELECT RecoverSpatialIndex();
>
> ciao Sandro
>
> _______________________________________________
> Gfoss at 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.
> 666+40 iscritti al 5.6.2014
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20141118/05933e6b/attachment.html>


Maggiori informazioni sulla lista Gfoss