Spider Web
Spider Web is a software module for calculating routes in a road network. Given information about the desired start and end points and the properties of the traveller, it computes a route that is the fastest or shortest possible. Spider Web can be used as a component in e.g. route guidance applications on the web.
Architecture
Spider Web is implemented as a C++ library on the Windows platform. On top of this, a thin Java layer allows the component to be used as a servlet, e.g. in Apache Tomcat. This allows requests to be given as HTTP requests, and the route response is returned as an XML document.
Input data
The following data elements can be given to Spider Web to specify a request:
- Request type. The type of calculation. The simplest type is to just find the route from A to B. However, Spider Web can also select the best among several destinations, or can order a number of way points to yield the best total route.
- Start point. A coordinate specifies the start point, and travel starts at the point on a road link that is closest to this coordinate. If desired, only road links with a specified road name are considered.
- Destinations and way points
- Maximum distance. If a start position or destination is farther from the nearest road link than this distance, an error is given, and the request is not executed.
- Metric. Determines whether 'best' path is taken to mean 'shortest', 'fastest' or 'simplest' path.
- Traveller. Specifies which traveller the calculation is for. The set of possible travellers and their properties are part of the input to the preprocessor.
Output data
The result of a calculation contains the following data:
- Total time and distance.
- Selected destination and way points. The destination and way points that were used in the route are listed in the proper sequence.
- Sequence of road links. The ID of each road link used in the route are listed in the proper sequence.
- Geometry. A sequence of coordinates describing the geometry of the route.
- Road names and route numbers. Road links with the same name are aggregated. The distance and time spent on each road is reported.
- Driving directions. Every time the road name changes, directions are given on how to turn. Roundabouts are reported and the correct exit indicated. Start and end of ferries are also reported.
Road data
The collection of road data that Spider Web uses is termed a 'topology'. Topologies are created by a preprocessor application, based on a specification of where to import data from and the properties of the travellers that should be included. Road data can be imported from:
- MultiNet data in Shape format. Road data for most of Europe and North America is avaible from TeleAtlas.
- Elveg data in SOSI format. Road data for Norway is available from Norsk Eiendomsinformasjon.
The route computation takes the following properties of road data and travellers into account (when present in the data):
- Speed limits or estimated speeds. A traveller's speed may be set as a given fraction of the speed limit or the estimated speed, and a maximum speed may be given.
- Size restrictions. The height, length, weight or axle pressure of a traveller may limit the permitted road links.
- Vehicle type restrictions. Some roads may be accessible only e.g. to buses or to passenger cars.
- One-way roads. These are respected unless the traveller is allowed to disregard them.
- Physical barriers. Some road links may be blocked in one end.
- Turning restrictions. Some turns in an intersection may be prohibited or compulsive.
- 'Resident only' areas. Roads that are 'for residents only' may only be used at the start or end of a route.
- Road category. The 'simplest' route is computed by minimizing a cost for changing road name/route number, plus a cost per distance. The cost per distance may vary with the road category, to encourage using major roads.
Contact:
Geir Hasle