Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Thu 13 June 2013 17:59

nawak
Participant assidu
Date d'inscription: 11 Sep 2007
Messages: 216

spatialite type integer count

Bonjour,

Lorsque je fais une requête avec sqlite avec un count, la colonne obtenue n'est pas de type INTEGER (ou numeric) ce qui m'empeche de faire une graduation de couleurs sous qgis.

Merci de vos lumières

Hors ligne

 

#2 Fri 14 June 2013 09:57

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 Jul 2010
Messages: 1132

Re: spatialite type integer count

Salut,

Caster le résultat du count en integer dans votre requête devrait résoudre le problème (le type d'un count est généralement un bigint).

Dernière modification par tumasgiu (Fri 14 June 2013 09:59)

Hors ligne

 

#3 Fri 14 June 2013 11:55

nawak
Participant assidu
Date d'inscription: 11 Sep 2007
Messages: 216

Re: spatialite type integer count

Qu'entendez vous par Caster ?

Hors ligne

 

#4 Fri 14 June 2013 12:18

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1536

Re: spatialite type integer count

Bonjour,

"Caster", ou "transtyper", signifie que l'on change le type d'une donnée.
Exemple: l'entier 1 peut etre casté en chaine de caractère "1" en castant son type:

select cast(1 as text);

En general, tous les types peuvent etre castés en String/Text. Le contraire n'est pas vrai: caster "toto" en integer ne marchera pas wink

Nicolas

Hors ligne

 

#5 Fri 14 June 2013 15:42

nawak
Participant assidu
Date d'inscription: 11 Sep 2007
Messages: 216

Re: spatialite type integer count

Bonjour,

et Merci pour votre réponse. Est-il possible de caster l'ensemble d'une colonne directement dans une requête ?

Merci encore

Hors ligne

 

#6 Fri 14 June 2013 15:51

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 Jul 2010
Messages: 1132

Re: spatialite type integer count

Code:

SELECT CAST(MaColonneACaster as MonType) FROM LaetitiaCasta

Hors ligne

 

#7 Mon 17 June 2013 14:41

nawak
Participant assidu
Date d'inscription: 11 Sep 2007
Messages: 216

Re: spatialite type integer count

Merci

Hors ligne

 

#8 Mon 17 June 2013 14:45

nawak
Participant assidu
Date d'inscription: 11 Sep 2007
Messages: 216

Re: spatialite type integer count

J'ai comme l'impression que sur ma version de spatialite, la  fonction CAST n'est pas intégrée...ça marche chez vous ?

Hors ligne

 

#9 Mon 17 June 2013 16:01

haubourg
Participant assidu
Lieu: Grenoble
Date d'inscription: 7 Sep 2005
Messages: 257
Site web

Re: spatialite type integer count

Etonnant, j'ai découvert ce problème lié à SQLITE - et non spatialite-  la semaine dernière..

J'ai résumé ça en anglais dans la liste QGIS et dans les listes SQLITE:
http://osgeo-org.1560.x6.nabble.com/Spa … 58436.html

Les colonnes calculées ne sont pas typées, et pas vraiment typables dans SQLITE. C'est mal mais aucun développeur SQLITE n' prévu de modif pour l'instant.

Deux options:
- trouver un développeur apte à proposer cette évolution (contactez moi!)
- hacker dans les clients une autodétection de type basée sur le contenu (très mal, mais certainement plus rapide)

Plus largement, ce serait vraiment bien de pousser nos cas d'utilisation sqlite à la communauté source, qui a l'air de développer essentiellement pour des usages mobiles, ou embarqués. Nos besoins d'administrateurs de données méritent d'être appuyés, et financés . Je pense aux vues, aux commentaires associés aux tables et aux champs.. au plus proche du comportement de Postgis pour un maximum de simplicité.


Régis

Hors ligne

 

#10 Mon 17 June 2013 16:26

MathieuB
Membre du bureau
Lieu: Montpellier
Date d'inscription: 18 Jan 2006
Messages: 1220
Site web

Re: spatialite type integer count

Bonjour à tous,

même soucis la semaine dernière et même conclusion que haubourg.
J'ai du ruser pour trier par ordre numérique croissant sur la colonne Count(), en la complétant à gauche par des '0' et en triant par ordre alphabétique sad


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

#11 Fri 02 August 2013 15:12

cyrille
Participant assidu
Date d'inscription: 7 Feb 2006
Messages: 387

Re: spatialite type integer count

Bonjour, j'ai eu ce problème cette semaine.
Je ne pouvais pas faire ma graduation de couleurs sous qgis. Apres avoir requete sous Spatialite car mes colonnes etaient en texte alors que je les voulais en entier.

J'ai donc commencé par créer ma table vide en precisant les type de colonne (text, int ou double)
CREATE TABLE XXXX  ("geometry" NUM, "pu_id" TEXT, "area" DOUBLE, "perimeter" DOUBLE,
"sidelength" DOUBLE, "nbre_stations" INT, "noms_velibs" TEXT)
(je ne suis pas sur des types : int pour entier, double pour decimal ? )

Ensuite on passe à la requete

insert into XXXX   ("geometry" , "pu_id" , "area" , "perimeter" ,
"sidelength" , "nbre_stations" , "noms" )
select .........

puis

SELECT RecoverGeometryColumn(XXXX   , 'geometry', 2154, 'POLYGON', 'XY');

et au final quand j'importe cette table spatiale sous Qgis, les graduations couleur sont accessibles car les champs ont le bon type.

Hors ligne

 

#12 Mon 05 August 2013 10:36

MathieuB
Membre du bureau
Lieu: Montpellier
Date d'inscription: 18 Jan 2006
Messages: 1220
Site web

Re: spatialite type integer count

Bonjour Cyrille,

merci pour ce tuyau.


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

Pied de page des forums

Powered by FluxBB