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 :
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 :
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)
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 :
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.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 ORDER BT ST_DISTANCE(ST_STARTPOINT(table_cable.geom), table_site.geom)
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
Partager