The calculated distance (air line) between David and Puerto Escondido is approximately 168 miles respectively 270 kilometers.
By car or train, the actual journey to Puerto Escondido is certainly longer, as only the direct route (as the crow flies) between David and Puerto Escondido has been calculated here.
Air line (approximately)
270 kilometers
146 nautical miles