Altavista is located in southwestern Campbell County at (37.117622, -79.289632) [REF].
According to the United States Census Bureau, Altavista has a total area of , of which is land and , or 2.24%, is water [REF].