source: subversion/applications/routing/pyroutelib2/weights.py @ 34645

Last change on this file since 34645 was 8114, checked in by ojw, 11 years ago

move weighting to a module

File size: 1.1 KB
Line 
1class RoutingWeights:
2  def __init__(self):
3    self.Weightings = {
4      'motorway': {'car':10},
5      'trunk':    {'car':10, 'cycle':0.05},
6      'primary':  {'cycle': 0.3, 'car':2, 'foot':1, 'horse':0.1},
7      'secondary': {'cycle': 1, 'car':1.5, 'foot':1, 'horse':0.2},
8      'tertiary': {'cycle': 1, 'car':1, 'foot':1, 'horse':0.3},
9      'unclassified': {'cycle': 1, 'car':1, 'foot':1, 'horse':1},
10      'minor': {'cycle': 1, 'car':1, 'foot':1, 'horse':1},
11      'cycleway': {'cycle': 3, 'foot':0.2},
12      'residential': {'cycle': 3, 'car':0.7, 'foot':1, 'horse':1},
13      'track': {'cycle': 1, 'car':1, 'foot':1, 'horse':1, 'mtb':3},
14      'service': {'cycle': 1, 'car':1, 'foot':1, 'horse':1},
15      'bridleway': {'cycle': 0.8, 'foot':1, 'horse':10, 'mtb':3},
16      'footway': {'cycle': 0.2, 'foot':1},
17      'steps': {'foot':1, 'cycle':0.3},
18      'rail':{'train':1},
19      'light_rail':{'train':1},
20      'subway':{'train':1}
21      }
22
23  def get(self, transport, wayType):
24    try:
25      return(self.Weightings[wayType][transport])
26    except KeyError:
27      # Default: if no weighting is defined, then assume it can't be routed
28      return(0)
29 
30 
Note: See TracBrowser for help on using the repository browser.