Extract graph data from map image
Start by getting rid of the background (Mathematica example):


  map = Import["http://i.stack.imgur.com/HYtbo.jpg"]
  
  fg = ImageAdjust[map, {1.0, 1.0}]




Then use a graph extraction tool like NEFI. If you want to do it all in Mathematica, that's possible too. You might want to add another preprocessing step to decompose the graph by edge type if you want to treat them separately, like you said.