There are
1,984 mi
from Gresham, OR to Troy, MO
That's the driving distance. It would take 1 day 10 hours to go from Gresham, Oregon to Troy, Missouri.
The flight distance (direct flight from Gresham, OR to Troy, MO) is 1,658.76 mi.
1,984 mi = 3,193.59 kms