1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| SELECT R_TRONCO.GID AS TR_GID,
R_NOEUD.GID AS NO_GID,
R_TRONCO_RELATION.CLASS,
R_NOEUD_RELATION.CLASS,
T_TR1.X/1000 AS TRX1,
T_TR1.Y/1000 AS TRY1,
T_TRN.X/1000 AS TRXn,
T_TRN.Y/1000 AS TRYn,
T_NO.X/1000,
T_NO.Y/1000,
SQRT(POWER(ABS(T_NO.X-T_TR1.X),2)+POWER(ABS(T_NO.Y-T_TR1.Y),2))/1000 AS DIST1,
SQRT(POWER(ABS(T_NO.X-T_TRN.X),2)+POWER(ABS(T_NO.Y-T_TRN.Y),2))/1000 AS DIST2
FROM ( ( A_REIMS.R_NOEUD R_NOEUD
INNER JOIN
A_REIMS.R_NOEUD_RELATION R_NOEUD_RELATION
ON (R_NOEUD.GID = R_NOEUD_RELATION.GID_D))
INNER JOIN
A_REIMS.R_TRONCO R_TRONCO
ON (R_TRONCO.GID = R_NOEUD_RELATION.GID_A))
INNER JOIN
A_REIMS.R_TRONCO_RELATION R_TRONCO_RELATION
ON (R_TRONCO.GID = R_TRONCO_RELATION.GID_D)
AND (R_NOEUD.GID = R_TRONCO_RELATION.GID_A),
TABLE(SDO_UTIL.GETVERTICES(R_TRONCO.GEOMETRY)) T_TR1,
TABLE(SDO_UTIL.GETVERTICES(R_TRONCO.GEOMETRY)) T_TRN,
TABLE(SDO_UTIL.GETVERTICES(R_NOEUD.GEOMETRY)) T_NO
WHERE (R_TRONCO_RELATION.CLASS = 'R_NOEUD')
AND (R_NOEUD_RELATION.CLASS = 'R_TRONCO')
AND
(T_TR1.id ='1') AND (T_TRN.id= SDO_UTIL.GETNUMVERTICES(R_TRONCO.GEOMETRY))
AND (((T_TR1.X <> T_NO.X) AND (T_TRN.X <> T_NO.X))
OR ((T_TR1.Y <> T_NO.Y) AND (T_TRN.Y <> T_NO.Y))) |
Partager