How to tell a billboard's orientation from shadow angle in satellite imagery

Pull high-resolution imagery over a stretch of highway and every bulletin on it looks the same from directly overhead: a flat rectangle on a pole. Nothing in the pixel values tells you which lane the face reads to. The shadow the structure throws is usually the only clue you get without a drive-by.
What the shadow actually tells you
A vertical panel on a monopole or I-beam casts a shadow whose shape changes with the sun's angle to the panel, not just the time of day. When the sun sits roughly broadside to the face, the panel throws its widest shadow, a clean rectangle stretching out from the base. When the sun rakes along the panel's own plane, edge-on, the shadow collapses to almost nothing, just the pole and catwalk showing.
That width swing is the thing to measure. Capture metadata always carries the sun azimuth and elevation for the scene, so once you've got a shadow width (or its absence) for a known sun bearing, you can work backward to the bearing of the panel's face plane. This is the same logic a solar analyst uses to back out array tilt from shadow length, applied to a billboard face instead of a panel array. Measure shadow extent across two or three capture dates with different sun positions and the plane bearing tightens up fast.
Catwalk and ladder shadows help confirm it. On most back-lit and front-lit structures the service walkway runs along the back of the panel, so its shadow sits on the non-read side. If you can resolve the catwalk's shadow separately from the panel's, you've got a second line pointing at the same bearing, which is a useful check against a single noisy read.
Where shadow angle alone runs out
Shadow geometry gives you the panel's plane, the line it sits on. It doesn't tell you which of the two directions along that line the printed face points. A panel set on a north-south bearing could be reading to drivers headed north or drivers headed south, and the shadow looks the same either way, because the structure is thin and the sun doesn't care which side the vinyl is on.
Closing that last gap means bringing in the road. Match the plane bearing against the bearing of the nearest travel lane, then use the catwalk offset (service side faces away from traffic on almost every structure built to current standard) to pick the read direction. On a single carriageway this resolves cleanly most of the time. On interchanges, frontage roads, or anywhere two roads cross near the structure, you're often down to judgment calls that a shadow measurement can't settle on its own, low sun elevation flattens the shadow further, and a cluttered site with trees or adjacent structures can mask the edge you need.
This is also where doing it one face at a time by eye stops scaling. A plane-bearing measurement that takes a few minutes per structure turns into weeks once you're auditing a region instead of a handful of boards. Billboard Mapping runs that plane-bearing and approach-side read as a standing annual layer instead of a per-structure exercise, so the orientation call is already sitting next to the location when you open the file.
If you're carrying a stack of faces you'd rather not re-derive by hand every renewal cycle, that's the gap this layer is built to close.