There are
2,637 mi
from San Marcos, CA to Petersburg, VA
That's the driving distance. It would take 1 day 22 hours to go from San Marcos, California to Petersburg, Virginia.
The flight distance (direct flight from San Marcos, CA to Petersburg, VA) is 2,246.62 mi.
2,637 mi = 3.22 kms