Annonce
Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !
10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …
Retrouver nos membres bienfaiteurs
Pages: 1
- Sujet précédent - Trigger Postgis: Récuperation de la valeur du point le plus proche. - Sujet suivant
#1 Fri 15 April 2022 09:51
- sporito
- Participant actif
- Date d'inscription: 4 Mar 2008
- Messages: 126
Trigger Postgis: Récuperation de la valeur du point le plus proche.
Bonjour,
Je souhaiterais mettre en place un trigger qui me permette, au moment de placer un point A parmi pleins de points B, de récupérer la valeur du champ "numero" de ma couche PointsB pour remplir mon champ "numeroB" de ma couche PointsA.
Je souhaiterais que ce trigger soit basé sur la condition du plus proche point B de mon point A.
J'ai essayé ça, mais ça ne fonctionne pas
J'ai dc un schéma que l'on appellera "SchemaPoint" avec 2 couches :
PointsA
-numeroB (à remplir)
PointsB
-numero
CREATE OR REPLACE FUNCTION "SchemaPoint".voisins()
RETURNS trigger
LANGUAGE 'plpgsql'
COST 100
VOLATILE NOT LEAKPROOF
AS $BODY$
BEGIN
select into new.numeroB numero, ST_distance(new.geom, PointsB.geom) AS voisin
FROM "SchemaPoint"."PointsA","SchemaPoint"."PointsB"
order by voisin
LIMIT 1;
return new ;
END;
$BODY$;
puis
CREATE TRIGGER update_numero
BEFORE INSERT OR UPDATE
ON "SchemaPoint"."PointsA"
FOR EACH ROW
EXECUTE FUNCTION "SchemaPoint".voisins();
Dernière modification par sporito (Fri 15 April 2022 09:51)
Hors ligne
#2 Fri 15 April 2022 11:04
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Trigger Postgis: Récuperation de la valeur du point le plus proche.
Bonjour,
Il faut regarder du coté de KNN (K plus proches voisins). Il y a beaucoup de posts sur ce forum là-dessus, par ex:
https://georezo.net/forum/viewtopic.php?id=125426
Nicolas
Hors ligne
#3 Fri 15 April 2022 14:41
- sporito
- Participant actif
- Date d'inscription: 4 Mar 2008
- Messages: 126
Re: Trigger Postgis: Récuperation de la valeur du point le plus proche.
Bonjour,
Il faut regarder du coté de KNN (K plus proches voisins). Il y a beaucoup de posts sur ce forum là-dessus, par ex:
https://georezo.net/forum/viewtopic.php?id=125426
Nicolas
Le souci, c'est que je ne souhaite pas obtenir la distance entre objets d'une même couche, mais rapporter la valeur d'un champ d'une couche à une autre (remplir un champ), en fonction de la distance la plus courte
Dernière modification par sporito (Fri 15 April 2022 14:45)
Hors ligne
Pages: 1
- Sujet précédent - Trigger Postgis: Récuperation de la valeur du point le plus proche. - Sujet suivant