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Ă© ?

#31 Tue 30 July 2019 14:21

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

Re: calcul surface parcelle

Si, PgAdmin 4 fonctionne en client/serveur.
La fenĂȘtre ouverte dans firefox est le client,
mais pgAdmin4.exe est un mini-serveur HTTP
qui en est complÚtement découplé.

Hors ligne

 

#32 Tue 30 July 2019 14:45

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1769

Re: calcul surface parcelle

J'ai fermĂ© mon serveur, rouvert, lancĂ© la requĂȘte.
RequĂȘte OK mais je n'ai pas accĂšs Ă  la vue.

Hors ligne

 

#33 Tue 30 July 2019 14:54

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1769

Re: calcul surface parcelle

" Si, PgAdmin 4 fonctionne en client/serveur.
La fenĂȘtre ouverte dans firefox est le client,
mais pgAdmin4.exe est un mini-serveur HTTP
qui en est complÚtement découplé."

--> Alors comment fermer le mini-serveur HTTP?

Hors ligne

 

#34 Tue 30 July 2019 17:01

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

Re: calcul surface parcelle

Avec une des deux méthodes exposées.

Pour votre problÚme, si vous en avez la possibilité
testez en vous connectant en tant que super utilisateur.

Hors ligne

 

#35 Tue 30 July 2019 22:31

Pascal Boulerie
Participant assidu
Lieu: France
Date d'inscription: 12 Sep 2005
Messages: 3139
Site web

Re: calcul surface parcelle

Il faut lire les manuels et autres guides ou tutoriaux.

Sinon et bien que ce ne soit pour moi ni l’heure ni ma « tasse de thé », je pense que d’autres que moi suggĂ©reront de suivre une formation continue.


« L'État est dĂ©sormais quasi dĂ©liquescent. » (JosĂ© Cohen-Aknine, ingĂ©nieur X-Ponts, IGPEF, dans DĂ©liquescence et renaissance de l'État.)

Hors ligne

 

#36 Wed 31 July 2019 10:37

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1769

Re: calcul surface parcelle

C'est résolu. Je ne sais pas comment. J'ai redémarré le serveur, sans résultat. Par contre, lorsque je suis allé dans l'application Vmap, cela a fonctionné, puis je suis retourné dans Pgadmin, et cela a aussi fonctionné. Bizarre. Mais ça marche, c'est l'essentiel.
Merci.

Hors ligne

 

#37 Mon 05 August 2019 09:04

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1769

Re: calcul surface parcelle

Bonjour pour cette nouvelle semaine. Les superficies sont en point avant la décimale. Comment faire pour les changer en virgule (par ex de 148.5 à 148,5)?

Hors ligne

 

#38 Mon 05 August 2019 09:56

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

Re: calcul surface parcelle

Salut,


Code:

SELECT replace(mon_reel::text, '.', ',');

Dernière modification par tumasgiu (Mon 05 August 2019 10:14)

Hors ligne

 

#39 Mon 05 August 2019 10:27

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1769

Re: calcul surface parcelle

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, '.', ',');,

Hors ligne

 

#40 Mon 05 August 2019 10:41

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

Re: calcul surface parcelle

Je vous invite Ă  essayer de trouver par vous mĂȘme
la réponse n'est pas trÚs compliquée.

Hors ligne

 

#41 Mon 05 August 2019 10:53

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1769

Re: calcul surface parcelle

Désolé, mais je ne vois pas...

Hors ligne

 

#42 Mon 05 August 2019 11:01

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

Re: calcul surface parcelle

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.

Hors ligne

 

#43 Mon 05 August 2019 11:13

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1769

Re: calcul surface parcelle

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

Hors ligne

 

#44 Mon 05 August 2019 11:27

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

Re: calcul surface parcelle

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.

Hors ligne

 

#45 Mon 05 August 2019 11:42

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1769

Re: calcul surface parcelle

Je n'attends pas que vous me donniez la réponse. J'ai testé plein de combinaisons possibles, sans résultat.

Hors ligne

 

#46 Mon 05 August 2019 11:54

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1769

Re: calcul surface parcelle

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

Hors ligne

 

#47 Mon 05 August 2019 12:05

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

Re: calcul surface parcelle

chaud.

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 de colonne, et
dans ce cas la valeur du paramétre est la valeur de la colonne nommée,
pour chaque ligne de votre requĂȘte.

Enfin, il peut aussi ĂȘtre une expression plus complexe,
comme 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.
En mathématiques, on dit que l'on a composé g par f.

Dernière modification par tumasgiu (Mon 05 August 2019 12:10)

Hors ligne

 

#48 Mon 05 August 2019 14:02

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1769

Re: calcul surface parcelle

le ('.', ',') est bien placé?

Hors ligne

 

#49 Mon 05 August 2019 14:21

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

Re: calcul surface parcelle

Non,

par rapport Ă  mon exemple :

la fonction g c'est
     trunc(st_area(parcelle.geom)::numeric, 2)::text

la fonction f c'est
    replace(x, '.', ',')

Je vous ai dit que le premier paramĂštre de la fonction
replace ,ici symbolisé par un x,
est le texte dans lequel on veut remplacer des caractĂšres.

Donc la composée est ?

Hors ligne

 

#50 Mon 05 August 2019 14:34

francis_31
Participant actif
Date d'inscription: 24 Nov 2010
Messages: 92

Re: calcul surface parcelle

Bonjour,

je pense que ceci devrait vous aider:
replace(trunc(st_area(parcelle.geom)::numeric, 2)::text,'.', ',') AS superficie,

Je peux vous conseiller pour construire les requĂȘtes SQL de passer par Notepad ++.
Vous copiez la requĂȘte que vous souhaitez tester, vous allez dans Langage et vous choisissez SQL.
Quand vous déplacerez le curseur au niveau d'une parenthÚse vous allez voir ou la parenthÚse qui s'ouvre se ferme plus loin dans votre syntaxe.

Moi ça m'aide pour les requĂȘtes assez longues Ă  Ă©crire.

Bon courage.

Hors ligne

 

#51 Mon 05 August 2019 14:34

francis_31
Participant actif
Date d'inscription: 24 Nov 2010
Messages: 92

Re: calcul surface parcelle

Bonjour,

je pense que ceci devrait vous aider:
replace(trunc(st_area(parcelle.geom)::numeric, 2)::text,'.', ',') AS superficie,

Je peux vous conseiller pour construire les requĂȘtes SQL de passer par Notepad ++.
Vous copiez la requĂȘte que vous souhaitez tester, vous allez dans Langage et vous choisissez SQL.
Quand vous déplacerez le curseur au niveau d'une parenthÚse vous allez voir ou la parenthÚse qui s'ouvre se ferme plus loin dans votre syntaxe.

Moi ça m'aide pour les requĂȘtes assez longues Ă  Ă©crire.

Bon courage.

Hors ligne

 

#52 Mon 05 August 2019 14:48

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1769

Re: calcul surface parcelle

Dans votre exemple, je pense que la composée est g.
C'était donc une histoire de parenthÚses et de virgule.
Merci francis_31. Je pense que je vais utiliser Notepad ++.

Donc cela fonctionne.

Prochaine étape, prochain problÚme !
Je sélectionne des parcelles dans Vmap avec le champ superficie au format virgule. J'exporte pour ouvrir dans excel. Mais excel considÚre ce champ comme du texte. Je dois donc convertir ces données en standard pour pouvoir faire la somme des superficies.
Peut-on régler ça dans postgis?

Hors ligne

 

#53 Mon 05 August 2019 14:51

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1769

Re: calcul surface parcelle

Dans votre exemple, je pense que la composée est g.
C'était donc une histoire de parenthÚses et de virgule.
Merci francis_31. Je pense que je vais utiliser Notepad ++.

Donc cela fonctionne.

Prochaine étape, prochain problÚme !
Je sélectionne des parcelles dans Vmap avec le champ superficie au format virgule. J'exporte pour ouvrir dans excel. Mais excel considÚre ce champ comme du texte. Je dois donc convertir ces données en standard pour pouvoir faire la somme des superficies.
Peut-on régler ça dans postgis?

Hors ligne

 

#54 Mon 05 August 2019 15:03

francis_31
Participant actif
Date d'inscription: 24 Nov 2010
Messages: 92

Re: calcul surface parcelle

Ă  priori d'aprĂšs la requĂȘte l'attribut 'superficie' est de type texte quand on affiche la vue dans pgadmin ?
Si c'est le cas pourquoi pas tenter un : replace(trunc(st_area(parcelle.geom)::numeric, 2)::text,'.', ',')::numeric AS superficie,
Mais je ne suis pas du tout sur que ça fonctionne (je ne sais pas si postgresql accepte d'interprĂ©ter la virgule comme un sĂ©parateur lorsque l'attribut doit ĂȘtre considĂ©rĂ© comme un nombre et non du texte ou bien qu'il change la virgule pour le point au moment du retypage).

Il  faut ouvrir la vue dans pgadmin et vĂ©rifier que l'attribut 'superficie' est bien typĂ© en numeric et plus en texte.

Si ça fonctionne, il faut à nouveau tester l'export vmap et voir ce que ça donne sous excel (je ne sais pas si vmap gÚre de conserver les typages des champs).


AprÚs, je ne sais pas si c'est pour des utilisations fréquentes de personnes qui ne connaissent pas assez excel mais un clic sur la colonne puis clic droit format de cellule ça devrait passer.

Enfin, voir si les exports du module cadastre de vmap ne fournit pas déjà le fichier que vous souhaitez créer (bouton du module cadastre de vMap Générer un rapport).

Hors ligne

 

#55 Mon 05 August 2019 15:03

francis_31
Participant actif
Date d'inscription: 24 Nov 2010
Messages: 92

Re: calcul surface parcelle

Ă  priori d'aprĂšs la requĂȘte l'attribut 'superficie' est de type texte quand on affiche la vue dans pgadmin ?
Si c'est le cas pourquoi pas tenter un : replace(trunc(st_area(parcelle.geom)::numeric, 2)::text,'.', ',')::numeric AS superficie,
Mais je ne suis pas du tout sur que ça fonctionne (je ne sais pas si postgresql accepte d'interprĂ©ter la virgule comme un sĂ©parateur lorsque l'attribut doit ĂȘtre considĂ©rĂ© comme un nombre et non du texte ou bien qu'il change la virgule pour le point au moment du retypage).

Il  faut ouvrir la vue dans pgadmin et vĂ©rifier que l'attribut 'superficie' est bien typĂ© en numeric et plus en texte.

Si ça fonctionne, il faut à nouveau tester l'export vmap et voir ce que ça donne sous excel (je ne sais pas si vmap gÚre de conserver les typages des champs).


AprÚs, je ne sais pas si c'est pour des utilisations fréquentes de personnes qui ne connaissent pas assez excel mais un clic sur la colonne puis clic droit format de cellule ça devrait passer.

Enfin, voir si les exports du module cadastre de vmap ne fournit pas déjà le fichier que vous souhaitez créer (bouton du module cadastre de vMap Générer un rapport).

Hors ligne

 

#56 Mon 05 August 2019 15:14

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1769

Re: calcul surface parcelle

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.

Hors ligne

 

#57 Mon 05 August 2019 15:18

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1769

Re: calcul surface parcelle

Ce que je ne comprends pas, c'est lorsque l'on demande de calculer la superficie, la superficie est effectivement calculée mais pourquoi reste-t-elle sous format texte?

Hors ligne

 

#58 Mon 05 August 2019 15:21

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

Re: calcul surface parcelle

Oui, Francis a raison,
l'éditeur de texte de pgAdmin4 est moyen,
mieux vaut Ă©crire ses requĂȘtes avec quelque chose de plus
ergonomique.

Pour votre problÚme de format de données,
dans l'export au format csv de pgAdmin4,
vous pouvez modifier le caractÚre délimiteur de champ
par défaut ",". Une autre valeur commune est ";"

Hors ligne

 

#59 Mon 05 August 2019 15:32

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1769

Re: calcul surface parcelle

Je pense que le plus simple pour les utilisateurs est qu'ils ouvrent l'export sous excel.
Mais sous excel, la superficie est toujours considérée comme du texte.
Je réitÚre ma question : pourquoi la superficie est considérée comme du texte alors qu'elle est calculée?

Hors ligne

 

#60 Mon 05 August 2019 15:38

francis_31
Participant actif
Date d'inscription: 24 Nov 2010
Messages: 92

Re: calcul surface parcelle

Ă  mon avis Ă  lire ce que vous envoyez il faut refaire le test de la maniĂšre suivante:

il faut d'abord faire un "DROP" de la vue (la supprimer) et surtout bien conserver la requĂȘte avant pour la recrĂ©er aprĂšs.
Puis recréer la vue avec CREATE VIEW etc.

S'il Ă©crit Ă  nouveau un message de type qu'il ne peut pas convertir la valeur de l'attribut 'superficie' en numeric je pense que c'est bien ça c'est que pour la base de donnĂ©es le sĂ©parateur de dĂ©cimale est le point et pas la virgule. Donc pour avoir un nombre avec deux dĂ©cimales il faudra conserver le point en sĂ©parateur je ne vois pas quoi faire d'autre dans la base de donnĂ©es ou en tout cas  je ne connais pas (liĂ© aux options de crĂ©ation de la base de donnĂ©es au tout dĂ©but Ă  mon sens).


Pour rĂ©pondre Ă  la deuxiĂšme question elle reste en texte car vous l'explicitez vous-mĂȘme dans trunc(st_area(parcelle.geom)::numeric, 2)::text c'est le ::text qui type la colonne
Juste une chose lĂ -dessus que je ne suis pas absolument sur : j'aurais utilisĂ© round pour qu'il arrondisse la derniĂšre dĂ©cimale car je ne sais pas si fonctio trunc le fait (aprĂšs peu d'importance Ă  mon avis car vous ne devez pas ĂȘtre Ă  1 cm carrĂ© prĂšs).

Enfin, concernant l'option de pgadmin 4, oui c'est une bonne idée sauf que ça ne réponds pas à son souci car à la fin il souhaite que ce soit un export déclenché depuis un logiciel SIG Web et non pas via pgAdmin.

C'est pour ça que je suggĂ©rais de regarder dans un premier temps le module cadastre de vmap qui fournit peut-ĂȘtre en standard l'information qu'il souhaite (une fois les parcelles au panier cliquer sur GĂ©nĂ©rer un rapport et tester les diffĂ©rents rapports dont certains qui sont dĂ©jĂ  lisibles dans excel).

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo