The calculated distance (air line) between Viersen and Linnich is approximately 20 miles respectively 32 kilometers.
By car or train, the actual journey to Linnich is certainly longer, as only the direct route (as the crow flies) between Viersen and Linnich has been calculated here.