This section explains how to submit route requests in XML format to the routing engine, and it describes the XML Schema Definitions (XSDs) for the route requests (input) and responses (output). XML is widely used for transmitting structured documents using the HTTP protocol. If an HTTP request (GET or POST method) is used, it is assumed the request has a parameter named xml_request whose value is a string containing the XML document for the request.
A request to the routing engine servlet has the following format:
http://hostname:port/route-server-servlet-path?xml_request=xml-request
In this format:
hostname is the network path of the server on which the routing engine is running.
port is the port on which the application server listens.
route-server-servlet-path is the routing engine servlet path (for example, routeserver/servlet/RouteServerServlet).
xml-request is the URL-encoded XML request submitted using the HTML GET or POST method.
The input XML is required for all requests. The output will be an XML document.
In a simple route request, you must specify a route ID, and you can specify one or more of the following attributes:
route_preference: fastest or shortest (default)
road_preference: highway (default) or local
return_driving_directions (whether to return driving directions): true or false (default)
return_hierarchical_directions (whether to return hierarchical directions): true or false (default)
return_locations (return geocoded results for the start and end locations of the route and any subroutes): true or false (default)
return_subroutes (whether to return subroutes): true (default if a multi-address route, ignored for a single-address route) or false
return_route_geometry (whether to return the line string coordinates for the route): true or false (default)
return_subroute_geometry (whether to return the line string coordinates for each subroute): true or false (default for multi-address routes)
return_segment_geometry (whether to return the line string coordinates for each maneuver in the route): true or false (default)
return_detailed_geometry: true (default; returns detailed geometries) or false (returns generalized geometries)
language: language used to generate driving directions (ENGLISH (default), FRENCH, GERMAN, ITALIAN, or SPANISH)
distance_unit: kilometer, mile (default), or meter
length_unit: us for feet (default) or metric for meters
time_unit: hour, minute (default), or second
weight_unit: us for tons (default) or metric for metric tons
pre_geocoded_locations (whether the start and end locations are input locations (address specifications or points) or previously geocoded locations): true (previously geocoded locations) or false (default; input locations)
driving_directions_detail: high, medium (default) or low
optimize_route: true or false (default)
route_type: open (default) or closed
vehicle_type: auto (default) or truck
truck_type: delivery, public, resident, or trailer; (no default)
truck_height: floating-point number in length_units
truck_length: floating-point number in length_units
truck_per_axle_weight: floating-point number in weight_units
truck_weight: floating-point number in weight_units
truck_width: floating-point number in length_units
Batched route requests are groups of one or more simple (single, multi-address, or TSP) requests encapsulated in a <batch_route_request> element. All attributes associated with the <batch_route_request> element are ignored. Because all encapsulated requests are simple requests, they use the preceding listed attributes.
In a batch mode route request, you must specify a request ID, a start location, and one or more end locations. Each location must have an ID attribute. Most of the attributes used for simple requests have no meaning for batch mode. You can use one or more of the following attributes in a batch mode route request, but using an attribute not in this list will cause an exception to be raised.
route_preference: fastest or shortest (default)
road_preference: highway (default) or local
distance_unit: kilometer, km, mile (default), or meter
time_unit: hour, minute (default), or second
sort_by_distance (whether to sort the returned routes in ascending order by distance of the end location from the start location): true or false (default)
cutoff_distance (returning only routes where the end location is less than or equal to a specified number of distance units from the start location): (number; default = no limit)
pre_geocoded_locations (whether the start and end locations are input locations (address specifications or points) or previously geocoded locations): true (previously geocoded locations) or false (default; input locations)
This section includes the following topics: