North America has a lot of streets that go “straight north and south”.
This presents a difficulty because once a road’s azimuth goes left of due north, its labels must flip to avoid becoming upside down (as the street continues curving.)
This is not usually a problem with straight parallel streets, as all will be left or right of due north, thus their labels will all either read all upwards or all downwards.
So why do the labels on Brown Avenue, in Evanston, IL USA flip back and forth, disturbingly different than its neighboring fellow north-south streets? (See /way/23392043 and inspect its avenue name at different zoom levels.)
Ah ha, because it wavers sightly back and forth over true north! Let’s check those azimuths as we go along it:
1 2 3 4 5 6 7 8 9 10 11 12
wget /api/0.6/way/23392043/full perl -F\" -awnle 'next unless $#F==18; print "@F[-2,-4]"' full | sort -k 2n | gmt mapproject -Aof -o2 NaN 1.34312351808 1.4347131823 0.581553728998 -0.40040076319 -0.406099373288 0.930238524534 0.595013044226 1.17968994378
Anyway, “you got to draw the line somewhere” for when to flip lettering, so it’s at true north. Adding some “AI fuzz factor” would probably just complicate algorithms.