The calculated distance (air line) between Silveira and Cacém is approximately 24 miles respectively 39 kilometers.
By car or train, the actual journey to Cacém is certainly longer, as only the direct route (as the crow flies) between Silveira and Cacém has been calculated here.