A navigation server for navigating a vehicle using surface penetrating radar, SPR, the navigation server comprising: a processor; a route database, having stored therein route data including SPR images representing a digital map of locations and route segments that correspond to roadways; a terrain database having stored therein terrain information extracted from the SPR images associated with the route segments stored in the route database; a risk database relating a plurality of vehicle types to risk levels associated with a plurality of types of terrain; a network interface for receiving a route request over a network, the route request comprising a starting location, a destination, and a vehicle type; and a mapping module, executable by the processor, configured to process the route request by: obtaining a plurality of candidate routes from the route database, wherein each of the candidate routes is associated with a score; obtaining terrain information from the terrain database for each of the plurality of candidate routes; obtaining vehicle-specific risk data from the risk database based on the terrain information; adjusting the score for each of the plurality of candidate routes based on the vehicle-specific risk data; and ranking the plurality of candidate routes according to the adjusted scores; wherein the processor is configured to: transmit the ranked plurality of candidate routes to the source of the route request for presenting to a user; and based on a user selection of a candidate route, transmit SPR images from the route database to a vehicle, wherein the transmitted SPR images define the selected candidate route. a processor; a route database, having stored therein route data including SPR images representing a digital map of locations and route segments that correspond to roadways; a terrain database having stored therein terrain information extracted from the SPR images associated with the route segments stored in the route database; a risk database relating a plurality of vehicle types to risk levels associated with a plurality of types of terrain; a network interface for receiving a route request over a network, the route request comprising a starting location, a destination, and a vehicle type; and a mapping module, executable by the processor, configured to process the route request by: obtaining a plurality of candidate routes from the route database, wherein each of the candidate routes is associated with a score; obtaining terrain information from the terrain database for each of the plurality of candidate routes; obtaining vehicle-specific risk data from the risk database based on the terrain information; adjusting the score for each of the plurality of candidate routes based on the vehicle-specific risk data; and ranking the plurality of candidate routes according to the adjusted scores; obtaining terrain information from the terrain database for each of the plurality of candidate routes; obtaining vehicle-specific risk data from the risk database based on the terrain information; adjusting the score for each of the plurality of candidate routes based on the vehicle-specific risk data; and ranking the plurality of candidate routes according to the adjusted scores; wherein the processor is configured to: transmit the ranked plurality of candidate routes to the source of the route request for presenting to a user; and based on a user selection of a candidate route, transmit SPR images from the route database to a vehicle, wherein the transmitted SPR images define the selected candidate route. transmit the ranked plurality of candidate routes to the source of the route request for presenting to a user; and based on a user selection of a candidate route, transmit SPR images from the route database to a vehicle, wherein the transmitted SPR images define the selected candidate route.