The calculated distance (air line) between Amesbury and Swansea is approximately 98 miles respectively 158 kilometers.
By car or train, the actual journey to Swansea is certainly longer, as only the direct route (as the crow flies) between Amesbury and Swansea has been calculated here.