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