Bonjour � tous,

Je travaille actuellement avec PostGIS et sollicite votre aide pour la probl�matique suivante :

J'ai une table qui contient des c�bles, une autre qui contient des sites. Un c�ble a un site d'origine, et un autre d'extr�mit�, ceux-ci sont connus par jointure sur un code de r�f�rence, mais un c�ble a aussi des site de passages entre les 2.
Je retrouve ces sites de passage gr�ce � une jointure g�om�trique :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
FROM table_cable
LEFT JOIN table_site ON ST_DWITHIN(table_cable.geom, table_site.geom, 0.2)
Et �a fonctionne bien, je retrouve bien les sites que je souhaite. Le probl�me est que ces sites sont dans le mauvais ordre par rapport � la direction du c�ble : le site d'origine est affich� en dernier, celui d'extr�mit� en premier :


table_cable.code table_cable.origine table_cable.extremite table_site.code_site
code_ABC 1 4 4
code_ABC 1 4 3
code_ABC 1 4 2
code_ABC 1 4 1


Or je vise le r�sultat suivant :

table_cable.code table_cable.origine table_cable.extremite table_site.code_site
code_ABC 1 4 1
code_ABC 1 4 2
code_ABC 1 4 3
code_ABC 1 4 4

J'ai v�rifi� les donn�es visuellement sur QGis, les c�bles sont bien orient�s dans la bonne direction, j'ai aussi essay� avec une clause ORDER BY par rapport au point d'origine du c�ble :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
ORDER BT ST_DISTANCE(ST_STARTPOINT(table_cable.geom), table_site.geom)
Mais cela ne fonctionne pas, les c�bles n'�tant pas toujours en ligne droite, le point d'extr�mit� peut se retrouver plus proche � vol d'oiseau du point d'origine que d'autres sites de passage qui doivent apparaitre avant dans mon tri.


Je ne suis pas un expert en SIG et je n'ai pas trouv� de solution en �cumant Google, aussi je m'en remet � vous au cas o� quelqu'un aurait une suggestion ?

Edit : j'ai aussi essay� un ST_REVERSE, sans aucun changement