[QGIS-it-user] tipo di campi espressione in viste geopackage
Carlo Tersigni
carter.012 a gmail.com
Mar 10 Dic 2019 02:38:54 PST
Ho avuto un problema simile, anche se non dovuto al passaggio su
SpatiaLite, ma leggendo un file csv. Ho risolto creando un nuovo campo e
trasferendoci i valori dell'attributo letti come "string", con la funzione
to_int dal menù conversioni del calcolatore di campi. Poi ho cancellato la
colonna con le stringhe.
Carlo
Il giorno lun 9 dic 2019 alle ore 17:43 francesco marucci <
francesco.marucci a gmail.com> ha scritto:
> gentile lista,
> ho un piccolo problema che però non riesco a risolvere:
> all'interno di un geopackage ho creato una vista, nella quale ho generato
> un campo con una espressione (tipicamente un count(*) as tot_comuni, per
> fare un esempio);
>
> il problema è dato dal fatto che questo campo, proveniente da una
> espressione, in SQLITE non ha un tipo (pur avendo provato tutti i cast del
> mondo), come leggo da qui:
> https://www.sqlite.org/datatype3.html
>
> - 3.2 Affinity Of Expressions: "... Otherwise, an expression has no
> affinity."
> - 3.3 Column Affinity For Views And Subqueries: ... "expressions
> always have no affinity".
>
> infatti un:
> pragma table_info([mia_tabella]);
>
> restituisce:
>
> 0 gid INTEGER 0 0
> 1 geom MULTIPOLYGON 0 0
> 2 nome TEXT(58) 0 0
> 3 tot_comuni 0 0
>
> (cioè il campo tot_comuni non ha tipologia)
>
> e fin qui sembra un problema di SQLITE: tale problema però si ripercuote
> in QGIS in quanto il campo viene visto come un Qstring (pur contenendo
> solamente degli interi) e quindi ad esempio non posso costruire una legenda
> graduata basata su questo campo (cosa assai spiacevole).
> un workaround potrebbe essere quello di riconoscere il tipo di campo,
> invece di assegnargli un Qstring se il tipo non è presente nel pragma,
> magari leggendo il valore del primo record, come suggerito qui (in ambiente
> java però):
>
> https://stackoverflow.com/questions/54480436/how-to-get-sqlite-column-types-from-view-columns
>
> nel caso specifico sono in QGIS 3.4.10 sia deb che win, SQLITE 3.26.0.
>
> che ne pensate?
> apro un ticket?
>
> grazie.
>
> saluti,
> francesco
>
>
>
> _______________________________________________
> QGIS-it-user mailing list
> QGIS-it-user a lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/qgis-it-user
>
--
*Carlo TERSIGNI*
*Via della Badia di cava 104, scala Z, 00142 - ROMA*
*tel.: 333-4653589e-mail: carter.012 a gmail.com <carter.012 a gmail.com>*
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.osgeo.org/pipermail/qgis-it-user/attachments/20191210/bfe09057/attachment-0001.html>
Maggiori informazioni sulla lista
QGIS-it-user