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. <EOS>