All rivers are on grassland. 'Shield-grassland' is assigned in (something like) a 'zigzag' pattern from lower left to upper right, across the entire map:
–|o|o|–|–|o|o|–|–|o
o|o|–|–|o|o|–|–|o|o
o|–|–|o|o|–|–|o|o|–
–|–|o|o|–|–|o|o|–|–
–|o|o|–|–|o|o|–|–|o
o|o|–|–|o|o|–|–|o|o
This pattern also continues 'under' non-grassland terrain tiles (plains, desert, hills, etc.), so you need to find the nearest section of shield-grassland above/below your river, and trace that zigzag pattern down/up until you meet the river -- any shield-grass tiles which fall on the river will have a shield.
This pattern also applies when improving jungle/swamp into grassland.