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 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: 1534

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: 981

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

 

Pied de page des forums

Powered by FluxBB