#1 Fri 16 December 2022 18:52
- fanou
- Participant occasionnel
- Date d'inscription: 26 Jul 2019
- Messages: 32
Boucle pour dupliquer x fois la même géométrie
Bonjour à tous,
J'ai besoin de dupliquer x fois, disons 10 fois la géométrie d'une couche qui n'a qu'une seule géométrie (couche A).
Je sais comment créer une nouvelle couche (Couche B) à partir de la couche A, mais je ne sais pas comment le répéter 10 fois, j'ai regardé du côté des boucles mais je ne comprends pas tout....
Code:
drop sequence if exists seq_test_gid; create sequence seq_test_gid start with 1; drop table if exists couche B CASCADE; create table couche B as select nextval('seq_test_gid') as gid, geom from couche A;
Merci pour votre aide
Stéphane
Hors ligne
#2 Sat 17 December 2022 21:13
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Boucle pour dupliquer x fois la même géométrie
Bonsoir,
generate_series est votre amie (https://www.postgresql.org/docs/15/functions-srf.html)
Nicolas
Hors ligne
#3 Mon 19 December 2022 10:57
- fanou
- Participant occasionnel
- Date d'inscription: 26 Jul 2019
- Messages: 32
Re: Boucle pour dupliquer x fois la même géométrie
Merci Nicolas.
Je ne vois pas comment utiliser generate_series pour dupliquer ma ligne existante, pouvez-vous m'aider ?
Stéphane
Hors ligne
#4 Mon 19 December 2022 13:48
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 995
Re: Boucle pour dupliquer x fois la même géométrie
Je découvre la fonction proposée par Nicolas, et du coup je joue pour l'apprendre.
Voici donc, dans votre cas, ce que vous pourriez écrire :
Code:
SELECT generate_series(1,10)as gid, geom FROM "couche A"
Si la "couche A" contient une entité (1 géométrie), vous aurez en sortie 10 entités avec la même géométrie, et un identifiant "gid" allant de 1 à 10.
Sylvain M.
Hors ligne
#5 Mon 19 December 2022 16:30
- fanou
- Participant occasionnel
- Date d'inscription: 26 Jul 2019
- Messages: 32
Re: Boucle pour dupliquer x fois la même géométrie
Merci Sylvain M., c'est exactement ce que je cherchais.
Stéphane
Hors ligne