The calculated distance (air line) between São Pedro and Duque de Caxias is approximately 33 miles respectively 54 kilometers.
By car or train, the actual journey to Duque de Caxias is certainly longer, as only the direct route (as the crow flies) between São Pedro and Duque de Caxias has been calculated here.
Air line (approximately)
54 kilometers
29 nautical miles