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