There are
1,837 mi
from Waterloo, IA to Gresham, OR
That's the driving distance. It would take 1 day 8 hours to go from Waterloo, Iowa to Gresham, Oregon.
The flight distance (direct flight from Waterloo, IA to Gresham, OR) is 1,500.86 mi.
1,837 mi = 2,956.89 kms