KB10312 - What support for routing is provided in the DK?
This is a general question. Many associate routing with road/street routing of vehicles, but routing functionality can also be applied to any sort of network, such as liquid pipeline systems, electrical power grids, rail networks, etc.
By default the DK (and IS) product considers vector lengths, which represent actual distances on the ground (assuming that the vector map reflects a projected geographic coordinate system). But the DK supports the following types of modifications, by assigning costs to each link in the network:
- Link cost (for each direction separately), using the DK OnLinkCost event. A link is the vector line segment between two nodes at line intersections. Nodes generally exist at the intersections between line vectors, but can also be placed along a line at places where there is no intersection. Cost factors can be coded to the attribute fields of each vector individually, or programmatically based on vector classes which are coded to the vector attributes. For instance, the cost factor for interstate highways (autobahn) might be 1, whereas the cost factor for common highways might be 1.2, for secondary roads 1.5, and for unpaved roads a cost factor of 2.5. In such an example, it the interstate highway route would have to be at least 2.5 times longer than the unpaved road for the route involving the unpaved road to be selected as part of the optimal route. Or costs could be based on speed limits of each road segment, assuming that this information is available and coded to the attributes of the vector map layer(s). Another example is the use of special costs for specific links in the network, such as toll bridge or tunnels or a particularly poorly maintained road segment.
- Prohibited cost links. The difference between prohibited cost and high cost is that high cost greatly discourages the use of the link segment of the network whereas prohibited cost absolutely forbids the use of the link segment. An example would be an emergency response or police vehicle traveling in the wrong direction on a one-way street. The cost should be high to discourage this behavior but not absolutely forbidden, because other costs, i.e., the delay in reaching the point of the emergency, could be even higher.
- Link cost modifier to reflect personal preferences, using the DK OnLinkType event. This concept in based on the use of a cost modifier array to allow the user to easily modify the assignment of cost factors dynamically across the entire network, thereby quickly and easily modifying the behavior of the entire network. Typical examples are "time to traverse" and length/distance" based modification. Using the road network example, this would allow a user to modify the relative preference for or against certain types of roads (interstate highways, secondary roads, scenic routes, etc.) in the calculation of the optimum route. For a pipeline network or electricity grid, the cost factor might reflect free available capacity of each pipeline or transmission line segment, which could fluctuate during the course of time. Another example might be a situations in which trucks are forbidden from using certain streets only during specified hours of the day, or emergency vehicle routing that considers the time of day or day of week traffic congestion cycles in the calculation of the optimum route at any specific hour of the day or on any specific day of the week.
- On demand link cost calculation. This would calculate the cost individually on each call for situations when parameters are changing dynamically. An example might be an electrical power network grid, even in which capacity utilization information could be manually input by the user, or even automatically updated from information provided by sensors at key positions along the network.
Note the road routing functionality demonstrated in the Geocoding sample in the DK 7 Sample Set #2 download, which uses a TIGER vector street/road map sample to demonstrate link cost routing based on two classes of roads. The user can adjust the relative preference for main or secondary roads on which the route is calculated. Also, the interactive Washington D.C. map sample on the TatukGIS web site demonstrates simple distance based routing with the use of the TatukGIS Internet Server product.
Created: 2005-09-14, Modified: 2006-12-11