The calculated distance (air line) between Middelburg and Grahamstown is approximately 154 miles respectively 247 kilometers.
By car or train, the actual journey to Grahamstown is certainly longer, as only the direct route (as the crow flies) between Middelburg and Grahamstown has been calculated here.
Air line (approximately)
247 kilometers
133 nautical miles