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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 15 March 2012 08:48

macdoc
Participant occasionnel
Date d'inscription: 31 Jan 2012
Messages: 11

[POSTGIS] création de points tous les mètres sur une line string

Bonjour,

J'ai une table qui comprend un ensemble de linestring, et je souhaiterai créer un point tous les mètres sur chaque linestring. Grass le fait très bien mais je dois le faire avec POSTGIS.

Merci d'avance pour votre aide

Hors ligne

 

#2 Thu 15 March 2012 12:35

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: [POSTGIS] création de points tous les mètres sur une line string

macdoc a écrit:

Bonjour,

J'ai une table qui comprend un ensemble de linestring, et je souhaiterai créer un point tous les mètres sur chaque linestring. Grass le fait très bien mais je dois le faire avec POSTGIS.

Merci d'avance pour votre aide


st_segmentize(linestring, maxDistance);

Nicolas

Hors ligne

 

#3 Thu 15 March 2012 17:57

macdoc
Participant occasionnel
Date d'inscription: 31 Jan 2012
Messages: 11

Re: [POSTGIS] création de points tous les mètres sur une line string

désolé mais cela ne fonctionne pas.

En utilisant la requête ci dessous je parviens à créer les point de cassure mais pas un point tous le mètres

create table pointline as
select
ST_PointN(the_geom, generate_series(1, ST_NPoints(the_geom)))
     , gid
from Ligne
order by gid

Cdt

Hors ligne

 

#4 Thu 15 March 2012 18:31

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: [POSTGIS] création de points tous les mètres sur une line string

macdoc a écrit:

désolé mais cela ne fonctionne pas.

En utilisant la requête ci dessous je parviens à créer les point de cassure mais pas un point tous le mètres

create table pointline as
select
ST_PointN(the_geom, generate_series(1, ST_NPoints(the_geom)))
     , gid
from Ligne
order by gid

Cdt


En quoi ca ne fonctionne pas:

Code:

with g as (
    select 'LINESTRING(0 0, 10 0)'::geometry as geom
) select st_astext(st_segmentize(geom, 1))
from g;

                        st_astext                         
----------------------------------------------------------
 LINESTRING(0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 0,10 0)
(1 row)

Ca met bien un point tous les metres.

Quelle requete lancez-vous ?

Nicolas

Hors ligne

 

#5 Thu 15 March 2012 19:15

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: [POSTGIS] création de points tous les mètres sur une line string

Nicolas,

Je suppose que macdoc souhaite obtenir des points plutôt qu'une linestring !

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#6 Thu 15 March 2012 21:02

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: [POSTGIS] création de points tous les mètres sur une line string

Yves a écrit:

Nicolas,

Je suppose que macdoc souhaite obtenir des points plutôt qu'une linestring !

Y.


Salut Yves,

Ah oki, c'etait pas trop clair:

st_dumppoints retourne un objet contenant les index des points et les points composant une geometrie:

Code:

with g as (
  select 'LINESTRING(0 0, 10 0)'::geometry as geom
) 
select (st_dumppoints(st_segmentize(geom, 1))).*
from g;

Nicolas

Dernière modification par Nicolas Ribot (Thu 15 March 2012 21:04)

Hors ligne

 

#7 Fri 16 March 2012 08:15

macdoc
Participant occasionnel
Date d'inscription: 31 Jan 2012
Messages: 11

Re: [POSTGIS] création de points tous les mètres sur une line string

Effectivement, je cherchais à obtenir une couche point. Cela fonctionne parfaitement merci pour votre aide
Cdt

Hors ligne

 

#8 Fri 16 March 2012 10:16

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: [POSTGIS] création de points tous les mètres sur une line string

macdoc a écrit:

Effectivement, je cherchais à obtenir une couche point. Cela fonctionne parfaitement merci pour votre aide
Cdt


(oui en fait c'etait assez clair dans votre mail. C'est plutot mon esprit qui ne l'etait pas hmm)

Nicolas

Hors ligne

 

#9 Mon 08 February 2016 15:46

K-GOUEREC
Juste Inscrit !
Lieu: Lyon
Date d'inscription: 13 Nov 2013
Messages: 1
Site web

Re: [POSTGIS] création de points tous les mètres sur une line string

Bonjour,

je remonte pour le sujet pour quelques questions en lien avec la demande initiale.
Comme Macdoc, j'aimerais créer une couche de points tous les 30 mètres à partir d'un linéaire routier.

J'ai essayé st_segmentize, mais j'ai l'impression que la fonction réinitialise après chaque noeud.
Je m'explique : du point de départ de ma polyligne jusqu'au premier noeud, j'ai par exemple 22m, puis à partir de ce noeud là, la fonction en crée un nouveau à 30m. Or, j'aimerais que le point crée soit à 30m de mon point initial et ainsi de suite (en gros ne pas prendre en compte les noeuds déjà existants sur la polyligne).

Je ne sais pas bien comment faire.

Merci de votre aide ! smile

Hors ligne

 

Pied de page des forums

Powered by FluxBB