I'd guess they picked a city, then calculated the middle point from the boundaries, and then all the streets are put in there relative to the middle point. So a straight street to the north of the middle will be displayed in the north, one in the south will be displayed in the south.
It probably deals with the situation mentioned above by breaking down streets in smaller parts (like every km), and determining the average direction for this part.
At least that's how I'd do it, seems logical to me.
Obviously this only works when you're letting this be done automatically by image processing algorithms or from cartographic data, and not manual.