Pages: 1
- Sujet précédent - [POSTGIS] création de points tous les mètres sur une line string - Sujet suivant
#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
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
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
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
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
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 )
Nicolas
Hors ligne
#9 Mon 08 February 2016 15:46
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 !
Hors ligne
Pages: 1
- Sujet précédent - [POSTGIS] création de points tous les mètres sur une line string - Sujet suivant