If you were to grid the data in the manner I discussed in response to your other question and were to convert that to binary, then you would be able to use tools such as bwlabel() to find connected rounds. You have a difficulty, though, in identifying which road continues where when roads cross.
It seems to me that it should be possible to imdilate() with a kernel that separated lines at places that had more neighbours (e.g., roads crossing or joining)... though I am having difficulty thinking of an appropriate kernel. Perhaps imerode() thin lines leaving only the places with higher connectivity, find those places in the binary map and zero them out, and then bwlabel what remains.