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