This is an example directions I got when I didn't use RoadClass descriptor.
5. Bear right on RAMP. 6. Bear right on I 264 EAST 7. At fork Keep left on I-264 EAST 8. At fork Keep left on I-264 EAST 9. At fork keep right on EXIT 20 10. Continue on EXIT 20A 11. At fork, keep right on Exit A. 12. Bear right on Shelbyville Rd
As you can see, this is too repetitive as if it was depicting every single street segment. And description sounds awkward (at fork do this, at fork do that). In order to improve it, I added RoadClass descriptor attribute. (1= local roads, 2= highway, 3= ramp. no ferries or roundabouts).
This simplified the directions well, but now it is picking up "RoadClass" for ramps, instead of street names. So when it should describe "take Exit 20", it is now reading "take ramp to Shelbyville Rd". See the difference after I added descriptor attribute.
4. Bear right onto ramp and go northeast on I 264 EAST 5. take ramp to Shelbyville RD (it's reading RoadClass instead of Street_Name). Here, it should be "take Exit 20 to Shelbyville rd".
I took all the street segments that contain exit numbers and changed their RoadClass from ramp to local streets. It solved the problem of directions not picking up street names for ramps, but now it's reading