The calculated distance (air line) between Badalona and Viladecans is approximately 15 miles respectively 25 kilometers.
By car or train, the actual journey to Viladecans is certainly longer, as only the direct route (as the crow flies) between Badalona and Viladecans has been calculated here.
Air line (approximately)
25 kilometers
13 nautical miles