Re: [QGIS-it-user] tipo di campi espressione in viste geopackage

2019-12-10 Per discussione francesco marucci
Totò,
come workaround il tuo consiglio è sicuramente valido ed applicandolo
funziona, riesco a tematizzare.
mi piaceva capire se si poteva fare qualcosa di più per definire in Qgis
questi campi "fantasma".

grazie

un saluto,
francesco

Il giorno mar 10 dic 2019 alle ore 11:04 Totò 
ha scritto:

>
>
> Ciao,
> hai provato ad usare una espressione per tematizzare, per esempio
>
> to_int(tuo_campo)
>
> ciao
>
>
>
___
QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user


Re: [QGIS-it-user] tipo di campi espressione in viste geopackage

2019-12-10 Per discussione Carlo Tersigni
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.maru...@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@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@gmail.com *
___
QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user


Re: [QGIS-it-user] tipo di campi espressione in viste geopackage

2019-12-10 Per discussione Totò
francesco marucci wrote
> 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).

Ciao,
hai provato ad usare una espressione per tematizzare, per esempio

to_int(tuo_campo)

ciao



-
https://pigrecoinfinito.wordpress.com/
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html
___
QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user


[QGIS-it-user] tipo di campi espressione in viste geopackage

2019-12-09 Per discussione francesco marucci
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@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user