drawRadi :: RadiData -> Diagram SVG R2
drawRadi ((s,e), Radi n d  _) = translateX s $ pathImg <> km
 where unitArc = scaleY 50 $ centerY $ scaleX (1/2) $ align unit_X $ arc (0 @@ turn) (1/2 @@ turn)
       dist = e - s
       title = translateX (dist / 2) $ textDef n === textDef (show2Digit d)
       km = rotate (1/4 @@ turn) $ (textDef (showKm s))
       pathImg | (1/0) /= d = (scaleY (signum d) $ scaleX dist unitArc) <> title
               | d == (1/0) = fromOffsets [dist *^ unitX]
drawRadi :: RadiData -> Diagram SVG R2
drawRadi ((s,e), Radi n d  _) = translateX s $ pathImg <> km
 where unitArc = scaleY 50 $ centerY $ scaleX (1/2) $ align unit_X $ arc (0 @@ turn) (1/2 @@ turn)
       dist = e - s
       title = translateX (dist / 2) $ textDef n === textDef (show2Digit d)
       km = rotate (1/4 @@ turn) $ (textDef (showKm s))
       pathImg | (1/0) /= d = (scaleY (signum d) $ scaleX dist unitArc) <> title
               | d == (1/0) = fromOffsets [dist *^ unitX]
drawRadi ((s,e), Radi n d  _) = translateX s $ pathImg <> km
 where unitArc = scaleY 50 $ centerY $ scaleX (1/2) $ align unit_X $ arc (0 @@ turn) (1/2 @@ turn)
       dist = e - s
       title = translateX (dist / 2) $ textDef n === textDef (show2Digit d)
       km = rotate (1/4 @@ turn) $ (textDef (showKm s))
       pathImg | (1/0) /= d = (scaleY (signum d) $ scaleX dist unitArc) <> title
               | d == (1/0) = fromOffsets [dist *^ unitX]