Bonjour à tous
Voici mon problème :
Dans une table spatiale, je génère une géométrie qui correspond à un tracé de déviation d'une route (Une polyligne de plusieurs segments).
Pour info, le tracé est réalisé avec un outil qui s'accroche à un référentiel routier (routes départementales)...
Une fois ce tracé réalisé je souhaite récupérer les nom des routes et des communes traversées, de façon à connaitre les routes empruntées exemple : RD 468 puis RD426, puis RD288 (dans l'ordre de mon tracé)

J'ai donc créé une requête spatiale qui va récupérer dans ma table graphique de mon référentiel routier (GRAPHE_ARC) les noms des routes ... J'utilise ANYINTERACT pour la requête

voici la requete :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
SELECT SUBSTR(SIR.GRAPHE_ARC.AXE
FROM SIR.GRAPHE_ARC
WHERE mdsys.sdo_relate (GEOMETRIE,
  (SELECT GEOMETRIE
  FROM iTALIQUE.DEVIATIONS
  WHERE DEVIATIONS.ID_DEVIATIONS        = 29
  ),'mask=ANYINTERACT querytype=WINDOW')='TRUE'
GROUP BY( SUBSTR(SIR.GRAPHE_ARC.AXE,0,
  CASE
    WHEN INSTR(SIR.GRAPHE_ARC.AXE,'G')>0
    THEN INSTR(SIR.GRAPHE_ARC.AXE,'G')-1
    ELSE LENGTH (SIR.GRAPHE_ARC.axe)
  END));
Ça fonctionne bien sauf que les noms des routes qui remontent de la table SIR.GRAPHE_ARC.AXE ne sont pas dans l'ordre du tracé (A priori c'est dans l'ordre de SIR.GRAPHE_ARC.AXE)... Je pense qu'il faudrait parcourir les segments qui composent ma polyligne (ma déviation) et récupérer pour chacun d'entre eux le nom de la route, mais je ne vois pas comment faire
Auriez vous une idée ?