#1 Mon 25 August 2014 17:49
- JP LLORENS
- Participant assidu
- Date d'inscription: 12 Nov 2008
- Messages: 231
[Postgis 2.0] - Duplication de points de long d'une voie
Bonjour.
J'ai un certains nombres d'éléments ponctuels (points de regroupement) repartis le long des axes routiers de notre territoire.
Je souhaite dupliquer (à une distance de 2m) chacun de ces points parallèlement à l'axe de la voie la plus proche.
Je suppose que je dois utiliser la fonction ST_PROJECT mais comment récupérer l'azimut du tronçon de voie le plus proche ?
Merci par avance de votre aide.
JP
Hors ligne
#2 Mon 25 August 2014 18:30
- VianneyD
- Participant assidu
- Date d'inscription: 30 May 2011
- Messages: 153
Re: [Postgis 2.0] - Duplication de points de long d'une voie
Bonjour,
ST_PROJECTS me parait une bonne solution.
Pour connaitre l'azimut à utiliser, j'ai bien une idée mais j'espère que vous avez de l'aspirine
1. vous pouvez connaitre l'id de la ligne la plus proche d'un point en faisant
SELECT ligne.id FROM ligne, point
WHERE point.id = [XX]
ORDER BY ST_DISTANCE(ligne.the_geom, point.the_geom) ASC
LIMIT 1
2. une fois la ligne la plus proche identifiée, vous pouvez calculer la projection de votre point sur celle-ci en utilisant ST_Line_Locate_Point combiné à ST_Line_Interpolate_Point
SELECT ST_Line_Interpolate_Point(ST_Line_Locate_Point(ligne.the_geom, point.the_geom))
FROM WHERE [blabla]
3. Plus qu'à lacher un ST_Azimuth sur le point et sa projection sur la ligne la plus proche, et le tour est joué (ouf) => vous pouvez utiliser ST_PROJECTS
Par contre ça demande à traiter les points un par un... Un script pourra s'avérer utile
J'espère que ce n'est pas trop confus et que je ne me suis pas trompé
Vianney Dugrain
Hors ligne
#3 Tue 26 August 2014 09:13
- JP LLORENS
- Participant assidu
- Date d'inscription: 12 Nov 2008
- Messages: 231
Re: [Postgis 2.0] - Duplication de points de long d'une voie
Bonjour.
Merci beaucoup. Je teste ça rapidement et vous fait un retour.
Cordialement
JP
Hors ligne