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

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#1 Mon 08 February 2021 11:45

Hippo
Participant actif
Date d'inscription: 18 Jan 2015
Messages: 57

Trigger conversion polylignes en courbes

Bonjour,

J'ai créé une petite appli web basée sur PostGIS/Geoserver/Leaflet.
Je peux dessiner des polylignes depuis mon interface grâce au plugin Leaflet Draw et les envoyer dans PostGIS avec un script Php et Ajax.
Quand ma polyligne est insérée dans PostGIS, un trigger est déclenché qui mets à jour la géométrie dans ma table PostGIS depuis les coordonnées reçues.

Mon problème actuellement est que je souhaiterais que lorsque je dessine une polyligne depuis mon interface, mon trigger convertisse également cette polyligne en courbe.
J'ai regardé du côté de ST_LineToCurve et de ST_ForceCurve mais sans résultat.

Voici le script dans mon trigger en l'état actuel :
update schema.table SET geom = ST_Transform(ST_GeomFromText('MULTILINESTRING((' || coords || '))',4326),2154) WHERE geom isnull; 

J'ai essayé dans PostGIS :
SELECT ST_ForceCurve(ST_Transform(ST_GeomFromText('MULTILINESTRING((' || coords || '))',4326),2154)) FROM schema.table
Qui me retourne bien des géométries dans ma table, mais qui m'affiche "unsupported geometries not rendered" dans le visualiseur de géométries.

Lorsque je fais un :
SELECT ST_AsText(ST_ForceCurve(ST_Transform(ST_GeomFromText('MULTILINESTRING((' || coords || '))',4326),2154)))
FROM schema.table
les géométries renvoyées dans ma table sont bien sous la forme "multicurve".

Maintenant si j'ajoute St_ForceCurve dans mon trigger, rien n'est envoyé dans ma table.

Hors ligne

 

Pied de page des forums

Powered by FluxBB