There are
2,017 mi
from Gresham, OR to St Charles, MO
That's the driving distance. It would take 1 day 10 hours to go from Gresham, Oregon to St Charles, Missouri.
The flight distance (direct flight from Gresham, OR to St Charles, MO) is 1,687.21 mi.
2,017 mi = 3,245.93 kms