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

Pour sécuriser votre compte sur les forums du GeoRezo, nous vous proposons de changer votre mot de passe.

Vous allez recevoir un message pour effectuer ce changement de mot de passe.

Merci de bien respecter les règles préconisées.

#1 Mon 04 April 2022 16:39

chowchow
Juste Inscrit !
Date d'inscription: 4 Apr 2022
Messages: 8

Modification Srid ?

Bonjour,

Quand je créé ma donnée le srid est en 4326. Et je voudrais qu il soit à 0.

Pour cela j 'ai fais une fonction trigger :

CREATE OR REPLACE FUNCTION atd16_patrimoine_foncier.f_srid()
    RETURNS trigger
    LANGUAGE 'plpgsql'
    COST 100
    VOLATILE NOT LEAKPROOF
AS $BODY$
BEGIN
       
    NEW.the_geom := ST_SetSRID(the_geom,0);
   
END;
$BODY$;

ALTER FUNCTION atd16_patrimoine_foncier.f_srid()
    OWNER TO sditecgrp;

GRANT EXECUTE ON FUNCTION atd16_patrimoine_foncier.f_srid() TO sditecgrp;

GRANT EXECUTE ON FUNCTION atd16_patrimoine_foncier.f_srid() TO PUBLIC;

La fonction est acceptée mais lors de l'intégration d'une nouvelle j'ai un message d'erreur :

ERROR:  control reached end of trigger procedure without RETURN
CONTEXT:  PL/pgSQL function atd16_patrimoine_foncier.f_srid()
État SQL : 2F005

Qu est ce que je dois modifier dans ma fonction pour modifier le Srid lors de la création de l'objet ?

Hors ligne

 

#2 Tue 05 April 2022 09:48

JP LLORENS
Participant assidu
Date d'inscription: 12 Nov 2008
Messages: 231

Re: Modification Srid ?

Bonjour

Je pense qu'il manque un NEW :

  NEW.the_geom := ST_SetSRID(NEW.the_geom,0);

Cordialement

Dernière modification par JP LLORENS (Tue 05 April 2022 10:21)

Hors ligne

 

#3 Tue 05 April 2022 16:08

chowchow
Juste Inscrit !
Date d'inscription: 4 Apr 2022
Messages: 8

Re: Modification Srid ?

Bonjour,
merci pour ce retour

Mais ça ne fonctionne pas

CREATE OR REPLACE FUNCTION atd16_patrimoine_foncier.f_srid()
    RETURNS trigger
    LANGUAGE 'plpgsql'
    COST 100
    VOLATILE NOT LEAKPROOF
AS $BODY$
BEGIN
       
   
    NEW.the_geom := st_Transform(st_SetSRID(NEW.the_geom,4326),0);
   
END;
$BODY$;

ALTER FUNCTION atd16_patrimoine_foncier.f_srid()
    OWNER TO sditecgrp;

GRANT EXECUTE ON FUNCTION atd16_patrimoine_foncier.f_srid() TO sditecgrp;

GRANT EXECUTE ON FUNCTION atd16_patrimoine_foncier.f_srid() TO PUBLIC;

J ai testé ça et j ai le message d erreur suivant lors de l intégration d'une donnée

ERROR:  ST_Transform: 0 is an invalid target SRID
CONTEXT:  PL/pgSQL function atd16_patrimoine_foncier.f_srid() line 5 at assignment
État SQL : XX000

Dernière modification par chowchow (Tue 05 April 2022 16:39)

Hors ligne

 

#4 Tue 05 April 2022 16:27

JP LLORENS
Participant assidu
Date d'inscription: 12 Nov 2008
Messages: 231

Re: Modification Srid ?

Ah oui, j'avais oublié le st_transform, désolé.
Par contre la doc dit :'The destination spatial reference to_srid may be identified by a valid SRID integer parameter';
Le message d'erreur est clair,  le srid 0 n'existe pas ...https://spatialreference.org/ref/

Hors ligne

 

#5 Tue 05 April 2022 16:32

ppluvinet
Participant assidu
Lieu: LYON
Date d'inscription: 6 Aug 2007
Messages: 608

Re: Modification Srid ?

A mon avis, un SRID à "0", ca n'existe pas ! Pourquoi souhaitez-vous un SRID à zéro. Un SRID est un code et doit exister dans la table spatial_ref_sys

cf la doc : https://postgis.net/docs/ST_Transform.html
The destination spatial reference to_srid may be identified by a valid SRID integer parameter (i.e. it must exist in the spatial_ref_sys table)


Tester : select srid from spatial_ref_sys order by srid;

Vous verrez bien qu'un SRID à "0" n'existe pas

Dernière modification par ppluvinet (Tue 05 April 2022 16:32)


Pascal PLUVINET

Hors ligne

 

#6 Tue 05 April 2022 16:40

chowchow
Juste Inscrit !
Date d'inscription: 4 Apr 2022
Messages: 8

Re: Modification Srid ?

J ai besoin du srid 0 car sur une autre table que je ne peux pas toucher il est à 0.
Et lors de la création de ma vue pour intersecter les 2 objets les srid doivent être les mêmes dans les 2 tables

Dernière modification par chowchow (Tue 05 April 2022 16:42)

Hors ligne

 

Pied de page des forums

Powered by FluxBB