There are
2,070 mi
from Gresham, OR to San Marcos, TX
That's the driving distance. It would take 1 day 14 hours to go from Gresham, Oregon to San Marcos, Texas.
The flight distance (direct flight from Gresham, OR to San Marcos, TX) is 1,707.48 mi.
2,070 mi = 3.22 kms