Message posté par : Jean Cascalès
----------------------------------------
Non le résultat donne ceci :
ERROR: cannot change data type of view column "superficie" from text to numeric
Bien sûr cela peut se faire sous excel, mais j'aimerais que cela soit plus direct, notamment pour les personnes qui n'utilisent pas trop excel.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=324024#p324024
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : T. Rossini
----------------------------------------
quasi.
Vous vous trompez juste dans les parentheses.
Pour rappel, une fonction, dans postgreSQL et dans
de nombreux autres langages prend la forme suivante :
fonction(param1, param2,..., paramN)
Un paramètre peut être une valeur littérale, c'est à dire
que vous spécifiez vous même la valeur.
Il peut aussi être un nom colonne de colonne, et
dans ce cas la valeur du paramétre est la valeur de la colonne nommée.
Enfin, il peut aussi être une expression,
c'est à dire une opération mathématique, une autre fonction, ou même une sous requête.
Dans ce cas le paramètre prends la valeur du résultat de l'expression.
Un exemple :
j'ai deux fonction f(x) et g(x) : je peux écrire f( g(x) )
PostgreSQL va d'abord calculer le résultat de la fonction g,
puis va l'utiliser comme paramètre de la fonction f.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=324014#p324014
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Jean Cascalès
----------------------------------------
Voici un exemple :
replace (trunc(st_area(parcelle.geom)::numeric, 2))::text ('.', ',') AS superficie,
Pouvez-vous me dire si c'est chaud ou si c'est froid...
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=324013#p324013
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Jean Cascalès
----------------------------------------
Je n'attends pas que vous me donniez la réponse. J'ai testé plein de combinaisons possibles, sans résultat.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=324011#p324011
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : T. Rossini
----------------------------------------
Si vous ne savez pas comment faire,
soit vous essayez de comprendre, mon message précédent est suffisant,
soit vous n'avez qu'à testez toutes les combinaisons possibles.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=324007#p324007
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Jean Cascalès
----------------------------------------
Mais je comprends ces fonctions
- trunc(st_area(parcelle.geom)::numeric, 2)::text AS superficie --> Cela permet de créer le champ superficie et de le calculer avec 2 chiffres après la virgule
- replace(mon_reel::text, '.', ',') --> cela permet de remplacer le point par la virgule.
--> Mais je ne sais pas comment faire ces deux fonctions en une seule ligne
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=324006#p324006
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : T. Rossini
----------------------------------------
Dans ce cas, je vous invite à vous mettre
à niveau si vous étes amené à travailler régulièrement
sur des bases de données et plus globalement dans
les SIG.
Pour vous aider :
la fonction replace prends trois paramètres
(les éléments séparés par des virgules dans les parenthèses) :
le premier est le texte sur lequel on veut travailler,
le second est le texte qu'on veut remplacer dans le premier parametre,
le troisième est le texte qu'on veut utiliser comme remplacement.
Votre première expression (qui commence par trunc et qui finit
par ::text ) renvoie donc un texte représentant votre superficie,
mais avec le mauvais séparateur de décimale.
les deux derniers éléments de votre expression (AS superficie)
est ce qu'on appelle un alias, cela permet de (re)nommer une colonne
ou une expression dans une requête select.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=324005#p324005
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Jean Cascalès
----------------------------------------
Désolé, mais je ne vois pas...
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=324004#p324004
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : T. Rossini
----------------------------------------
Je vous invite à essayer de trouver par vous même
la réponse n'est pas très compliquée.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=324003#p324003
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Jean Cascalès
----------------------------------------
Le champ superficie est crée et calculé à cette occasion :
trunc(st_area(parcelle.geom)::numeric, 2)::text AS superficie,
Comment y intégrer replace(mon_reel::text, '.', ',');,
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=324001#p324001
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net