[Gfoss] QspatiaLite 5.0.3

Luca Sigfrido Percich sigfrido a tiscali.it
Gio 26 Gen 2012 11:57:00 CET


Ciao Massimo,

in effetti cercando in rete sembra che QGIS non sia l'unico ad avere
problemi con i tipi per i campi calcolati nelle view sqlite.

Tuttavia con ogr2ogr (versione di sviluppo) è possibile convertire in
shapefile la vista senza perdita di informazioni:

ogr2ogr -overwrite -f "ESRI ShapeFile" -a_srs EPSG:3003 -sql "select
OGC_FID as id, somma, GEOMETRY from myview" . db.sqlite -nln myview

La vista myview è definita come 
CREATE VIEW myview as
select ogc_fid, geometry, cast(isolatoid + civicoid as integer) as somma
from carrai

Il campo somma figura correttamente come numerico(integer) nello
shapefile.

Ho provato a questo punto ad aggiungere la vista in QGIS come layer OGR
(file, tipo spatialite) anziché come layer spatialite, ma senza
successo, permangono gli stessi problemi.

Dal momento che GDAL/OGR lavora correttamente con la view e QGIS no,
penso ci siano gli estremi per aprire un ticket, però lascio la parola
ai più esperti.

Buon lavoro

Sig




Il giorno mer, 25/01/2012 alle 14.19 +0100, Massimo Paone ha scritto:
> Grazie per l'aiuto Sigfrido.
> 
> Purtroppo pero' il problema non si risolve neanche con l'operatore CAST. Il 
> campo di uscita continua ad essere non specificato, impedendomi una 
> visualizzazione corretta in QGIS :-(
> 
> Massimo
> 
> 
> > Ciao Massimo,
> 
> > prova con la conversione di tipo (casting) esplicita, ovvero
> 
> > CAST(espressione AS INTEGER)
> 
> > Sig
> 
> Il giorno mar, 24/01/2012 alle 14.26 +0100, Massimo Paone ha scritto:
> >
> > 2) Una delle query che sto sperimentando (un raggruppamento su
> > posizioni geografiche in modo da avere in uscita una somma di una
> > variabile numerica per ogni posizione) a partire da una join tra 3
> > tabelle di input, fornisce in output una view spaziale corretta ma con
> > un problemino: il campo su cui sommo non e' piu' un numerico (INTEGER)
> > come in partenza, bensi' non ha tipo specificato, e non capisco
> > perche'. Forse c'e' un modo per forzare a numerico questo risultato?
> >
> 



Maggiori informazioni sulla lista Gfoss