The calculated distance (air line) between Piranshahr and Oshnavīyeh is approximately 24 miles respectively 38 kilometers.
By car or train, the actual journey to Oshnavīyeh is certainly longer, as only the direct route (as the crow flies) between Piranshahr and Oshnavīyeh has been calculated here.
Air line (approximately)
38 kilometers
20 nautical miles