You need a line thinning, generalization, or smoothing algorithm. Perhaps the best known one is the Douglas–Peucker algorithm. More info can be gotten on wikipedia (en.wikipedia.org/.../Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm)
If you have access to Bentley Map (InRoads and GEOPAK both include Bentley Map) you can use the line thinning tools found there and save yourself a lot of programming.
If you have access to Bentley Map (InRoads and GEOPAK both include Bentley Map) you can use the line thinning tools found there and save yourself a lot of programming.