There are
2,881 mi
from Gresham, OR to Petersburg, VA
That's the driving distance. It would take 2 days 2 hours to go from Gresham, Oregon to Petersburg, Virginia.
The flight distance (direct flight from Gresham, OR to Petersburg, VA) is 2,371 mi.
2,881 mi = 3.22 kms