Message posté par : Jean Cascalès
----------------------------------------
si vous voulez conservez superficie en numeric :
trunc(st_area(parcelle.geom)::numeric, 2)::numeric
>>-C'est toujours considéré comme du texte
De toute façon, je veux toujours remplacer le point par une virgule.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=324064#p324064
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 voulez conservez superficie en numeric :
trunc(st_area(parcelle.geom)::numeric, 2)::numeric
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=324063#p324063
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
----------------------------------------
Salut,
oui mais il faut dropper la vue, modifier votre table, puis recréer votre vue.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=324061#p324061
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 la requete DROP puis CREATE :
-- View: cadastre.v_vmap_parcelle_proprietaire
DROP VIEW cadastre.v_vmap_parcelle_proprietaire;
CREATE VIEW cadastre.v_vmap_parcelle_proprietaire AS
SELECT nb_10_parcelle.id_par,
proprietaire.dnupro,
proprietaire.dnuper,
proprietaire.ddenom,
proprietaire.dqualp,
proprietaire.dnomlp,
proprietaire.dprnlp,
proprietaire.dlign3,
proprietaire.dlign4,
proprietaire.dlign5,
proprietaire.dlign6,
parcelle.geom,
proprietaire.id_dnupro,
proprietaire.gdesip,
replace(trunc(st_area(parcelle.geom)::numeric, 2)::numeric, '.'::text, ','::text) AS superficie,
nb_10_parcelle.id_com
FROM s_majic.nb_10_parcelle,
s_majic.proprietaire,
s_cadastre.parcelle
WHERE nb_10_parcelle.id_dnupro = proprietaire.id_dnupro AND proprietaire.gdesip = '1'::bpchar AND nb_10_parcelle.id_par = parcelle.id_par AND nb_10_parcelle.id_com ~ similar_escape(( SELECT "user".restriction
FROM s_vitis."user"
WHERE "user".login::name = "current_user"()), NULL::text);
ALTER TABLE cadastre.v_vmap_parcelle_proprietaire
OWNER TO u_vitis;
COMMENT ON VIEW cadastre.v_vmap_parcelle_proprietaire
IS 'Nom, prénom et adresse du propriétaire de chaque parcelle. La géométrie est associée à chaque parcelle se qui permet d''en faire une vue.';
GRANT ALL ON TABLE cadastre.v_vmap_parcelle_proprietaire TO u_vitis;
GRANT SELECT ON TABLE cadastre.v_vmap_parcelle_proprietaire TO vmap_cadastre_user;
Ne fonctionne pas : ERROR: function replace(numeric, text, text) does not exist
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=324059#p324059
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
----------------------------------------
Vous avez le même problème qu'au départ.
REPLACE ne fonctionne pas si le type d'une des colonnes de votre vue
change (ici en l'occurence text->numeric).
Il faut dropper la vue et la recréer.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=324050#p324050
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 les tests :
trunc(st_area(parcelle.geom)::numeric, 2) : ERROR: cannot change data type of view column "superficie" from text to numeric
trunc(st_area(parcelle.geom)::numeric, 2)::numeric : ERROR: cannot change data type of view column "superficie" from text to numeric
replace(trunc(st_area(parcelle.geom)::numeric, 2)::text,'.', ',') : Fonctionne mais donne du texte sous excel
replace(trunc(st_area(parcelle.geom)::numeric, 2)::text,'.', ',')::numeric : ERROR: cannot change data type of view column "superficie" from text to numeric
round(st_area(parcelle.geom)::numeric, 2) : ERROR: cannot change data type of view column "superficie" from text to numeric
Sinon, dans excel, sélection de la colonne >>- Données>>- Convertir en mode standard.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=324046#p324046
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 : francis_31
----------------------------------------
dsl j'étais entrain décrire, je n'ai pas vu la réponse de 17h15 (tumasgiu) mais ça semble être à peu près la même solution.
bonne fin d'apm !
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=324045#p324045
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 : francis_31
----------------------------------------
à mon avis :
si vous avez mis : trunc(st_area(parcelle.geom)::numeric, 2) sans le replace avant ça doit donner du numeric à la fin
si vous avez mis: trunc(st_area(parcelle.geom)::numeric, 2)::numeric sans le replace ça sert pas vous aurez aussi du numeric
si vous avez mis: replace(trunc(st_area(parcelle.geom)::numeric, 2)::text,'.', ',') AS superficie ça donne du texte
si vous avez mis: replace(trunc(st_area(parcelle.geom)::numeric, 2)::text,'.', ',')::numeric AS superficie soit ça fonctionne et ça donne du numeric et ça répond à votre question (mais à mon sens ça risque de pas passer car postgresql ne voudra pas typer une colonne en nombre si pour lui une virgule n'est pas un séparateur de décimale, ça reste à tester on ne sait jamais).
si vous avez mis: replace(trunc(st_area(parcelle.geom)::numeric, 2),'.', ',')::numeric AS superficie ça risque de pas fonctionner parceque la fonction replace attend à mon avis une chaine de caractère en premier paramètre et non pas un numeric ce qui est le cas ici.
Ainsi, et au vu des différents messages ce serait moi je ferai :
round(st_area(parcelle.geom)::numeric, 2) ce qui donnera une valeur qui est un nombre et pas un texte, qui sera arrondi à la dernière décimale mais qui conservera le point comme séparateur de décimale.
Ensuite, je testerai l'option indiquée par tumasgiu dans excel et les options avancées.
C'est ce qui me semble dans votre cas le plus adapté à défaut d'une solution idéale.
Après il faudrait passer probablement par un développement spécifique VMap qui vous permettrait via un fichier xsl fop d'avoir une colonne typée avec le séparateur que vous souhaitez mais là on entre dans du plus compliqué car il faudrait à priori du code php associé à un fichier xsl.
C'est pour cela que je vous suggérai de voir si un export VMap associé au module cadastre déjà mis à disposition ne pourrait pas convenir car le travail est peut-être fait.
En espérant que ces éléments pourront vous aider.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=324044#p324044
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
----------------------------------------
Ce que vous devriez faire c'est :
1. Regarder quel est le sep. décimal utilisé par excel.
2. Utiliser le même symbole dans votre vue.
Comme l'a dit francis, il faut que tout vous utilisateurs
partagent le même symbole de sep. decimal.
Le meilleur selon moi, si c'est possible,
serait de laisser le type de la colonne
de votre vue en numeric, et pouvoir spécifier
dans votre export le symbole a utiliser.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=324043#p324043
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 : neskuik01
----------------------------------------
Bonjour,
Est-il possible de changer le SRID d'une table qui est utilisé dans une vue ?
J'ai tenté de faire :
ALTER TABLE nom_table
ALTER COLUMN geom TYPE geometry(LineString,3948)
USING ST_SetSRID(geom,3948);
=> j'ai un message d'erreur "ne peut pas modifier le type d'une colonne utilisée dans une vue ou une règle"
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=324042#p324042
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