[QGIS-it-user] Problema salvataggio-apertura Stili - DB Spatialite

Salve amici, ho un grosso poblema che non riesco a risolvere.
Ho un file puntuale nel DB Spatialite.
Nelle opzione dello stile dei campi, ho selezionato di usare una form QT
fatta da me, ed ho impostato i widget come conveniente (alcuni testo, alcuni
foto, alcuni opzioni predefinite).
Tutto ok.
Ora peró, ho dovuto esportare qusto file in Shape, per usarlo in Surfer e
permettero ad altri utenti non pratici del DB.
Semplicemente ho fatto salva con nome, formato shape.
E qui il problema: nel nuovo file, se cerco di caricare le opzioni degli
stile del file originale (stili salvati sia nel file normal di QGIS, sia
dentro nel DB), non funziona per nulla, si caricano solo alcune cose, ma non
tutte: i widget non sono gli stessi. Ovviamente posso sistemarlo a mano, ma
non credo sia l'opzione che cerchiamo in questo foro.
Sapete se sbaglio o é un bug?
Oggi ho ripetuto piú vbolte l'esportazione e ho trovato pure a seguente
cose: se esporto in GEOJSEON, non mi permette modificare il file. Se salvato
in shape, poi importato ne DB Spatialite, e aprto con SpatialiteGUI, mi sono
accorto che sono cambiati i nomi dei campi! Li ha accorciati tutti.
Sapete cosa potrei fare o dove puó essere l'errore? QGIS 2.18.3 cje usavo ma
vari mesi senza problemi
Grazie

--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Luca Bellani wrote

Salve amici, ho un grosso poblema che non riesco a risolvere.
Ho un file puntuale nel DB Spatialite.
Nelle opzione dello stile dei campi, ho selezionato di usare una form QT
fatta da me, ed ho impostato i widget come conveniente (alcuni testo,
alcuni
foto, alcuni opzioni predefinite).
Tutto ok.
Ora peró, ho dovuto esportare qusto file in Shape, per usarlo in Surfer e
permettero ad altri utenti non pratici del DB.
Semplicemente ho fatto salva con nome, formato shape.
E qui il problema: nel nuovo file, se cerco di caricare le opzioni degli
stile del file originale (stili salvati sia nel file normal di QGIS, sia
dentro nel DB), non funziona per nulla, si caricano solo alcune cose, ma
non
tutte: i widget non sono gli stessi. Ovviamente posso sistemarlo a mano,
ma
non credo sia l'opzione che cerchiamo in questo foro.
Sapete se sbaglio o é un bug?
Oggi ho ripetuto piú vbolte l'esportazione e ho trovato pure a seguente
cose: se esporto in GEOJSEON, non mi permette modificare il file. Se
salvato
in shape, poi importato ne DB Spatialite, e aprto con SpatialiteGUI, mi
sono
accorto che sono cambiati i nomi dei campi! Li ha accorciati tutti.
Sapete cosa potrei fare o dove puó essere l'errore? QGIS 2.18.3 cje usavo
ma
vari mesi senza problemi
Grazie

Ciao Luca,
la risposta è nella tua stessa domanda.

In un database puoi usare nomi campi lunghi oltre i 10 caratteri cosa che
non puoi fare in uno shapefile (è un limite del dbf dello shapefile) non è
un bug ma un limite dello shapefile.

saluti

-----
https://pigrecoinfinito.wordpress.com/
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Grazie Salvatore, ma quindi che opzioni ho ora per renderlo usabile ad altre
persone, seconda la tua esperienza?

--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Luca Bellani wrote

Grazie Salvatore, ma quindi che opzioni ho ora per renderlo usabile ad
altre
persone, seconda la tua esperienza?

Se hai realizzato delle maschere con QT credo che l'unica soluzione è rifare
il database usando nomi campi con lunghezza meno di 10.

saluti

-----
https://pigrecoinfinito.wordpress.com/
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

altro problema: ho provato a fare SALVA CON NOME, e scegliere tipo
Spatialite, crea un nuovo db con una tabella. In questo caso é identico al
primo. Peró, al importare lo stile dal file (che uso per il primo layer),
succede questo:
1) si aggiornano tutti gli stili, tutto OK
2) i valore nella tabella di atributi cambiano: vengono inserite dlele
parentesi che impedisco al FORM di legger ei dati, il FORM appare vuoto.
Oggi proprio non vuole funzionare...

NB: appena prima di inviare il post, mi sono accorto di una cosa: il file
nuovo Spatialite, ha i nomi dei campi uguali, ma tutti in minusculo, mentre
l'originale ha la prima lettera in maiuscolo. ë un altro errore mio?

--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Beh, a questo punto crdo aver capito aver fatto degli errori iniziali, per
non conoscere a fondo spatialite e cosa sarebbe potuto succedermi. Ultima
domanda allora:
come posso creare una copia del mi layer puntuale SPatialite, identico in
tutto e perttutto? ma che sia una nuova tabella nel DB? da Qgis non vedo
modo. Devo usare codice SQL? Grazie!

--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Luca Bellani wrote

Beh, a questo punto crdo aver capito aver fatto degli errori iniziali, per
non conoscere a fondo spatialite e cosa sarebbe potuto succedermi. Ultima
domanda allora:
come posso creare una copia del mi layer puntuale SPatialite, identico in
tutto e perttutto? ma che sia una nuova tabella nel DB? da Qgis non vedo
modo. Devo usare codice SQL? Grazie!

Ciao,
non riesco più a seguirti.
Perchè devi creare nello stesso database due tabelle uguali?

-----
https://pigrecoinfinito.wordpress.com/
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Ciao, el principale non volgio piú toccarlo. risultqto di un anno di lavoro.
Ora peró, devo fare modifiche, eliminare cose , manon voglio toccare il
primo, Per quello volevo clonare questa tabella, poi cambairlgi nome, e
lavorarci nei prossimi mesi. Magari é una cosa banalissima ma sono spento! E
non ci sono riuscito n'é con DDBB, o da Spatialite Gui

--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Luca Bellani wrote

Ciao, el principale non voglio piú toccarlo. Risultato di un anno di
lavoro.
Ora peró, devo fare modifiche, eliminare cose, ma non voglio toccare il
primo, Per quello volevo clonare questa tabella, poi cambairlgi nome, e
lavorarci nei prossimi mesi. Magari é una cosa banalissima ma sono spento!
E
non ci sono riuscito n'é con DDBB, o da Spatialite Gui. Grazie!

Buongiorno,
se vuoi clonare un intero database spatialite basta fare una copia sul tuo
hard disk (questa è una dei vantaggi di spatialite, un semplice file);
se vuoi clonare una tabella all'interno di un database (cosa che non ha
molto senso) devi usare SQL e devi cambiare il nome della tabella.
Per come fare, guarda CookBook di Furieri
http://www.gaia-gis.it/spatialite-3.0.0-BETA/SpatiaLite-Cookbook_ITA.pdf

-----
https://pigrecoinfinito.wordpress.com/
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Si mi riferisco a creare una copia della tabella, dentro lo stesso DB. Nel
mio caso il senso é avere una copia esatta, per poi modificarla eliminando
piú della metám dei record. Ed usarla per altri scopi, perché devo
rettificare il lavoro. Certo, potrei usare le viste e ggoiungere un campo in
piú, ma é piú immediato per me in questo momento avere una copia.
Oltretutto, nella copia, potrei semplicemente cancellare tutti i record, ed
usarlo come file base per il 2018, visto che sará lo stesso lavoro. Per il
momento molte grazie, torneró al compagno Cookbook! ciao

--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Luca Bellani wrote

Si mi riferisco a creare una copia della tabella, dentro lo stesso DB. Nel
mio caso il senso é avere una copia esatta, per poi modificarla eliminando
piú della metám dei record. Ed usarla per altri scopi, perché devo
rettificare il lavoro. Certo, potrei usare le viste e ggoiungere un campo
in
piú, ma é piú immediato per me in questo momento avere una copia.
Oltretutto, nella copia, potrei semplicemente cancellare tutti i record,
ed
usarlo come file base per il 2018, visto che sará lo stesso lavoro. Per il
momento molte grazie, torneró al compagno Cookbook! ciao

Ciao Luca,
un modo per duplicare, usando spatialite gui, una tabella è il seguente:
1. lancia questo script SQL che corrisponde al 'show create statement'
SELECT sql FROM sqlite_master
WHERE type = 'table' AND name = 'nometuatabella';
2. copia ed incolla nell'area delle query; NB: cambia nome della tabella es.
nometabellaNuova;
a questo punto hai creato una tabella vuota con stesse caratteristiche di
quella originaria; ora popoliamola con i dati:
3. INSERT INTO nometabellaNuova SELECT * FROM nometabellaVecchia;
(potresti aggiungere una condizione sui dati da caricare es WHERE nomecampo
= valore);
4. dopo l'inserimento dati devi registrare la geometria:
SELECT RecoverGeometryColumn('nometabellaNuova', 'geom',EPSG,
'MULTIPOINT/POINT', 'XY');

al posto di EPSG metti il tuo codice
MULTIPOINT/POINT: metti quello tuo

saluti

-----
https://pigrecoinfinito.wordpress.com/
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Grazie mille! io avevo trovato alla fine, una forma non stile codice per
farla...salvavo il layer in formato GEPJSON, che mantiene tutte le
caratteristiche. e questo nuovo file lo importo al SPATIALITE, e non ci sono
problemi.
Ma con il codice come fai tu pe molto mglio e corretto, Grazie, sei sempre
gentile!

--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Penso che funzioni anche il più semplice

CREATE TABLE tabella_bk AS SELECT * FROM
tabella

a presto

Luca

···

Il giorno 24 novembre 2017 00:58, Luca Bellani <lucabellani.arqueologia@gmail.com> ha scritto:

Grazie mille! io avevo trovato alla fine, una forma non stile codice per
farla…salvavo il layer in formato GEPJSON, che mantiene tutte le
caratteristiche. e questo nuovo file lo importo al SPATIALITE, e non ci sono
problemi.
Ma con il codice come fai tu pe molto mglio e corretto, Grazie, sei sempre
gentile!


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

Luca Lanteri-2 wrote

Penso che funzioni anche il più semplice

CREATE TABLE tabella_bk AS SELECT * FROM
tabella

a presto
Luca

Ciao Luca,
approfitto della tua risposta per chiederti:
1. ho fatto la prova che suggerisci ed ho notato che vengono cambiati i tipi
di dati, cioè se un campo è definito Integer lo trasforma in INT ecc...
2. come suggerisce sempre Furieri, mai usare SELECT * ma esplicitare sempre
tutti i campi.

grazie!!!

-----
https://pigrecoinfinito.wordpress.com/
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Il giorno 24 novembre 2017 12:43, Totò <pigrecoinfinito@gmail.com> ha
scritto:

Luca Lanteri-2 wrote
> Penso che funzioni anche il più semplice
>
> CREATE TABLE tabella_bk AS SELECT * FROM
> tabella
>
> a presto
> Luca

Ciao Luca,
approfitto della tua risposta per chiederti:
1. ho fatto la prova che suggerisci ed ho notato che vengono cambiati i
tipi
di dati, cioè se un campo è definito Integer lo trasforma in INT ecc...

su questo è meglio che risponda Furieri, non vorrei dire strafalcioni, però
a quanto ne so in sqlite i tipi dati non sono definiti, è il provider che
si interfaccia con che decide come trattarli.
Ad esempio QGIS penso faccia uno scan dei dati al caricamento del layer
perché a seconda di quello che ci trova dentro assegna al campo il tipo
stringa/integer/real ecc..

2. come suggerisce sempre Furieri, mai usare SELECT * ma esplicitare sempre

tutti i campi.

Se lo dice Alessandro per me è legge. Ho Cancellato il tasto * dalla
tastiera !
:wink:

grazie!!!

-----
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

Salvatore, mi sucso, ma non riesco a mettere in pratica i tuoi consigli, cero
di spiegarmi bene:
Ho fatto il punto1, scrivendolo nell'apposito spazio bianco di Spatialite
GUI, ed esce quello che dici tu, ossia, una linea dove inizia dicendo
"Create Statement" e poi un sacco di roba.

Ma dal punto 2 in poi non so cosa fare. Immagino (correggetmi per favore)
che il punto 1 "copi" le caratteristiche della prima tabella, che poi voglio
mettere nella seconda, ma non so che fare; ho copiato il codice e messo il
nuovo nome alla tabella ma da errore, quindi é logico che io stia facendo
una parte male :frowning: se potessi delucidarmi un'ultima volta, te ne ringrazierei
molto! GRazie!

--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Luca Bellani wrote

Salvatore, mi sucso, ma non riesco a mettere in pratica i tuoi consigli,
cero
di spiegarmi bene:
Ho fatto il punto1, scrivendolo nell'apposito spazio bianco di Spatialite
GUI, ed esce quello che dici tu, ossia, una linea dove inizia dicendo
"Create Statement" e poi un sacco di roba.

Ma dal punto 2 in poi non so cosa fare. Immagino (correggetmi per favore)
che il punto 1 "copi" le caratteristiche della prima tabella, che poi
voglio
mettere nella seconda, ma non so che fare; ho copiato il codice e messo il
nuovo nome alla tabella ma da errore, quindi é logico che io stia facendo
una parte male :frowning: se potessi delucidarmi un'ultima volta, te ne
ringrazierei
molto! GRazie!

Ciao Luca,
ho realizzato un video per l'intera procedura, il video NON è pubblico!!!

https://youtu.be/v_2mlLkhskc

saluti

-----
https://pigrecoinfinito.wordpress.com/
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

non ho parole! Grazie mille!

--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html