The calculated distance (air line) between Santa Margarida and Rio de Janeiro is approximately 184 miles respectively 297 kilometers.
By car or train, the actual journey to Rio de Janeiro is certainly longer, as only the direct route (as the crow flies) between Santa Margarida and Rio de Janeiro has been calculated here.
Air line (approximately)
297 kilometers
160 nautical miles