当前位置: 首页>>代码示例>>Python>>正文


Python WalkOptions.walking_speed方法代码示例

本文整理汇总了Python中graphserver.core.WalkOptions.walking_speed方法的典型用法代码示例。如果您正苦于以下问题:Python WalkOptions.walking_speed方法的具体用法?Python WalkOptions.walking_speed怎么用?Python WalkOptions.walking_speed使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在graphserver.core.WalkOptions的用法示例。


在下文中一共展示了WalkOptions.walking_speed方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: vertex

# 需要导入模块: from graphserver.core import WalkOptions [as 别名]
# 或者: from graphserver.core.WalkOptions import walking_speed [as 别名]
 def vertex(self, label, currtime=None, hill_reluctance=1.5, walking_speed=0.85):
     currtime = currtime or int(time.time())
     
     ret = []
     ret.append( "<h1>%s</h1>"%label )
     
     wo = WalkOptions()
     ret.append( "<h3>walk options</h3>" )
     ret.append( "<li>transfer_penalty: %s</li>"%wo.transfer_penalty )
     ret.append( "<li>turn_penalty: %s</li>"%wo.turn_penalty )
     ret.append( "<li>walking_speed: %s</li>"%wo.walking_speed )
     ret.append( "<li>walking_reluctance: %s</li>"%wo.walking_reluctance )
     ret.append( "<li>uphill_slowness: %s</li>"%wo.uphill_slowness )
     ret.append( "<li>downhill_fastness: %s</li>"%wo.downhill_fastness )
     ret.append( "<li>hill_reluctance: %s</li>"%wo.hill_reluctance )
     ret.append( "<li>max_walk: %s</li>"%wo.max_walk )
     ret.append( "<li>walking_overage: %s</li>"%wo.walking_overage )
     
     
     ret.append( "<h3>incoming from:</h3>" )
     for i, (vertex1, vertex2, edgetype) in enumerate( self.graphdb.all_incoming( label ) ):
         s1 = State(1,int(currtime))
         wo = WalkOptions()
         wo.hill_reluctance=hill_reluctance
         wo.walking_speed=walking_speed
         s0 = edgetype.walk_back( s1, wo )
         
         if s0:
             toterm = "<a href=\"/vertex?label=&quot;%s&quot;&currtime=%d\">%[email protected]%d</a>"%(vertex1, s0.time, vertex1, s1.time)
         else:
             toterm = "<a href=\"/vertex?label=&quot;%s&quot;\">%s</a>"%(vertex1, vertex1)
         
         ret.append( "%s<br><pre>&nbsp;&nbsp;&nbsp;via %s (<a href=\"/incoming?label=&quot;%s&quot;&edgenum=%d\">details</a>)</pre>"%(toterm, cgi.escape(repr(edgetype)), vertex2, i) )
         
         if s0:
             ret.append( "<pre>&nbsp;&nbsp;&nbsp;%s</pre>"%cgi.escape(str(s0)) )
         
         
     ret.append( "<h3>outgoing to:</h3>" )
     for i, (vertex1, vertex2, edgetype) in enumerate( self.graphdb.all_outgoing( label ) ):
         s0 = State(1,int(currtime))
         wo = WalkOptions()
         wo.hill_reluctance=hill_reluctance
         wo.walking_speed=walking_speed
         s1 = edgetype.walk( s0, wo )
         
         if s1:
             toterm = "<a href=\"/vertex?label=&quot;%s&quot;&currtime=%d\">%[email protected]%d</a>"%(vertex2, s1.time, vertex2, s1.time)
         else:
             toterm = "<a href=\"/vertex?label=&quot;%s&quot;\">%s</a>"%(vertex2, vertex2)
         
         ret.append( "%s<br><pre>&nbsp;&nbsp;&nbsp;via %s (<a href=\"/outgoing?label=&quot;%s&quot;&edgenum=%d\">details</a>)</pre>"%(toterm, cgi.escape(repr(edgetype)), vertex1, i) )
         
         if s1:
             ret.append( "<pre>&nbsp;&nbsp;&nbsp;%s</pre>"%cgi.escape(str(s1)) )
     
     wo.destroy()
     
     return "".join(ret)
开发者ID:Jamie5,项目名称:graphserver,代码行数:61,代码来源:graphcrawler.py

示例2: _points

# 需要导入模块: from graphserver.core import WalkOptions [as 别名]
# 或者: from graphserver.core.WalkOptions import walking_speed [as 别名]
 def _points(self, vertex_label, starttime, cutoff, speed):
     starttime = starttime or time.time()
     
     #=== find shortest path tree ===
     print "Finding shortest path tree"
     t0 = time.time()
     wo = WalkOptions()
     wo.walking_speed = speed
     spt = self.graph.shortest_path_tree( vertex_label, None, State(1,starttime), wo, maxtime=starttime+int(cutoff*1.25) )
     wo.destroy()
     t1 = time.time()
     print "took %s s"%(t1-t0)
     
     #=== cobble together ETA surface ===
     print "Creating ETA surface from OSM points..."
     points = []
     t0 = time.time()
     for vertex in spt.vertices:
         if "osm" in vertex.label:
             x, y = self.node_positions[vertex.label[3:]]
             points.append( (x, y, vertex.payload.time-starttime) )
     t1 = time.time()
     print "Took %s s"%(t1-t0)
     
     spt.destroy()
     
     return points
开发者ID:dru,项目名称:graphserver,代码行数:29,代码来源:contourserver.py

示例3: path

# 需要导入模块: from graphserver.core import WalkOptions [as 别名]
# 或者: from graphserver.core.WalkOptions import walking_speed [as 别名]
    def path(self, lat1, lng1, lat2, lng2, transfer_penalty=0, walking_speed=1.0, hill_reluctance=20, narrative=True, jsoncallback=None):
        
        t0 = time.time()
        origin = "osm-%s"%self.osmdb.nearest_node( lat1, lng1 )[0]
        dest = "osm-%s"%self.osmdb.nearest_node( lat2, lng2 )[0]
        endpoint_find_time = time.time()-t0
        
        print origin, dest
        
        t0  = time.time()
        wo = WalkOptions()
        #wo.transfer_penalty=transfer_penalty
        #wo.walking_speed=walking_speed
        wo.walking_speed=4
        wo.walking_overage = 0
        wo.hill_reluctance = 20
        wo.turn_penalty = 15 
        
        edgepayloads = self.ch.shortest_path( origin, dest, State(1,0), wo )
        
        wo.destroy()
        
        route_find_time = time.time()-t0
        
        t0 = time.time()
        names = []
        geoms = []
        
        profile = Profile()
        total_dist = 0
        total_elev = 0
        
        if narrative:
            names, total_dist = get_full_route_narrative( self.osmdb, edgepayloads )
        
        for edgepayload in edgepayloads:
            geom, profile_seg = self.shortcut_cache.get( edgepayload.external_id )
            
            #geom = get_ep_geom( self.osmdb, edgepayload )
            #profile_seg = get_ep_profile( self.profiledb, edgepayload )

            geoms.extend( geom )
            profile.add( profile_seg )
            
        route_desc_time = time.time()-t0

        ret = json.dumps( (names, 
                           encode_pairs( [(lat, lon) for lon, lat in geoms] ), 
                           profile.concat(300),
                           { 'route_find_time':route_find_time,
                             'route_desc_time':route_desc_time,
                             'endpoint_find_time':endpoint_find_time,},
                           { 'total_dist':total_dist,
                             'total_elev':total_elev}) )
        if jsoncallback:
            return "%s(%s)"%(jsoncallback,ret)
        else:
            return ret
开发者ID:bmander,项目名称:gstrip,代码行数:60,代码来源:routeserver.py

示例4: path

# 需要导入模块: from graphserver.core import WalkOptions [as 别名]
# 或者: from graphserver.core.WalkOptions import walking_speed [as 别名]
 def path(self, 
          origin, 
          dest,
          currtime=None, 
          time_offset=None, 
          transfer_penalty=0, 
          walking_speed=1.0,
          hill_reluctance=1.5,
          turn_penalty=None,
          walking_reluctance=None,
          max_walk=None,
          jsoncallback=None):
     
     performance = {}
     
     if currtime is None:
         currtime = int(time.time())
         
     if time_offset is not None:
         currtime += time_offset
     
     # time path query
     t0 = time.time()
     wo = WalkOptions()
     wo.transfer_penalty=transfer_penalty
     wo.walking_speed=walking_speed
     wo.hill_reluctance=hill_reluctance
     if turn_penalty is not None:
         wo.turn_penalty = turn_penalty
     if walking_reluctance is not None:
         wo.walking_reluctance = walking_reluctance
     if max_walk is not None:
         wo.max_walk = max_walk
     spt = self.graph.shortest_path_tree( origin, dest, State(1,currtime), wo )
     
     
     vertices, edges = spt.path( dest )
     performance['path_query_time'] = time.time()-t0
     
     t0 = time.time()
     narrative = list(postprocess_path(vertices, edges, self.vertex_events, self.edge_events))
     performance['narrative_postprocess_time'] = time.time()-t0
     
     t0 = time.time()
     wo.destroy()
     spt.destroy()
     performance['cleanup_time'] = time.time()-t0
     
     ret = {'narrative':narrative, 'performance':performance}
     
     if jsoncallback is None:
         return json.dumps(ret, indent=2, cls=SelfEncoderHelper)
     else:
         return "%s(%s)"%(jsoncallback,json.dumps(ret, indent=2, cls=SelfEncoderHelper))
开发者ID:ninowalker,项目名称:graphserver,代码行数:56,代码来源:routeserver.py

示例5: get_cell_weights

# 需要导入模块: from graphserver.core import WalkOptions [as 别名]
# 或者: from graphserver.core.WalkOptions import walking_speed [as 别名]
 def get_cell_weights(self, cellIndex=0, dep_time=0):
     sys.stderr.write("get_cell_weights   cell index: " + str(cellIndex) + "\n")
     # if the departure time is not specified, set it
     if (dep_time == 0):
         dep_time = int(time.time())
     wo = WalkOptions()
     wo.transfer_penalty=60
     wo.walking_speed=1.0
     wo.walking_reluctance=1.0
     wo.max_walk=10000
     wo.walking_overage=0.1
     core.shortestPathForKDTree(self.graph, State(self.graph.num_agencies,dep_time), wo, cellIndex)
     yield "Finished!"
开发者ID:jeriksson,项目名称:graphserver,代码行数:15,代码来源:routeserver_xml.py

示例6: make_native_ch

# 需要导入模块: from graphserver.core import WalkOptions [as 别名]
# 或者: from graphserver.core.WalkOptions import walking_speed [as 别名]
def make_native_ch(basename):
    gdb = GraphDatabase( basename+".gdb" )
    gg = gdb.incarnate()
    
    
    wo = WalkOptions()
    wo.hill_reluctance=20
    wo.walking_speed=4
    wo.walking_overage = 0
    wo.turn_penalty = 15

    ch = gg.get_contraction_hierarchies( wo )
            
    chdowndb = GraphDatabase( basename+".down.gdb", overwrite=True )
    chdowndb.populate( ch.downgraph, reporter=sys.stdout )
    
    chupdb = GraphDatabase( basename+".up.gdb", overwrite=True )
    chupdb.populate( ch.upgraph, reporter=sys.stdout )
开发者ID:bmander,项目名称:gstrip,代码行数:20,代码来源:ch.py

示例7: path_retro

# 需要导入模块: from graphserver.core import WalkOptions [as 别名]
# 或者: from graphserver.core.WalkOptions import walking_speed [as 别名]
 def path_retro(self, origin, dest, currtime, transfer_penalty=0, walking_speed=1.0):
     
     wo = WalkOptions()
     wo.transfer_penalty = transfer_penalty
     wo.walking_speed = walking_speed
     spt = self.graph.shortest_path_tree_retro( origin, dest, State(1,currtime), wo )
     wo.destroy()
     
     vertices, edges = spt.path_retro( origin )
     
     ret = []
     for i in range(len(edges)):
         edgetype = edges[i].payload.__class__
         if edgetype in self.event_dispatch:
             ret.append( self.event_dispatch[ edges[i].payload.__class__ ]( vertices[i], edges[i], vertices[i+1] ) )
     
     spt.destroy()
     
     return json.dumps(ret)
开发者ID:mtziotis,项目名称:graphserver,代码行数:21,代码来源:routeserver.py

示例8: path_retro

# 需要导入模块: from graphserver.core import WalkOptions [as 别名]
# 或者: from graphserver.core.WalkOptions import walking_speed [as 别名]
 def path_retro(self, origin, dest, currtime=None, time_offset=None, transfer_penalty=0, walking_speed=1.0):
     if currtime is None:
         currtime = int(time.time())
         
     if time_offset is not None:
         currtime += time_offset
     
     wo = WalkOptions()
     wo.transfer_penalty = transfer_penalty
     wo.walking_speed = walking_speed
     spt = self.graph.shortest_path_tree_retro( origin, dest, State(1,currtime), wo )
     wo.destroy()
     
     vertices, edges = spt.path_retro( origin )
     
     ret = list(postprocess_path(vertices, edges, self.vertex_events, self.edge_events))
     
     spt.destroy()
     
     return json.dumps(ret, indent=2, cls=SelfEncoderHelper)
开发者ID:ninowalker,项目名称:graphserver,代码行数:22,代码来源:routeserver.py

示例9: path

# 需要导入模块: from graphserver.core import WalkOptions [as 别名]
# 或者: from graphserver.core.WalkOptions import walking_speed [as 别名]
 def path(self, 
          origin, 
          dest,
          currtime=None, 
          time_offset=None, 
          transfer_penalty=0, 
          walking_speed=1.0,
          hill_reluctance=1.5,
          turn_penalty=None,
          walking_reluctance=None,
          max_walk=None,
          jsoncallback=None):
     
     performance = {}
     
     if currtime is None:
         currtime = int(time.time())
         
     if time_offset is not None:
         currtime += time_offset
     
     # time path query
     t0 = time.time()
     wo = WalkOptions()
     wo.transfer_penalty=transfer_penalty
     wo.walking_speed=walking_speed
     wo.hill_reluctance=hill_reluctance
     if turn_penalty is not None:
         wo.turn_penalty = turn_penalty
     if walking_reluctance is not None:
         wo.walking_reluctance = walking_reluctance
     if max_walk is not None:
         wo.max_walk = max_walk
     spt = self.graph.shortest_path_tree( origin, dest, State(1,currtime), wo, maxtime=4000000000, hoplimit=2000000, weightlimit=4000000000 )
    
     try:
         vertices, edges = spt.path( dest )
     except Exception, e:
         return json.dumps( {'error':str(e)} )
开发者ID:dzwarg,项目名称:graphserver,代码行数:41,代码来源:routeserver.py

示例10: GTFSDatabase

# 需要导入模块: from graphserver.core import WalkOptions [as 别名]
# 或者: from graphserver.core.WalkOptions import walking_speed [as 别名]
t0t = time.strptime(t0s)
d0s = time.strftime('%a %b %d %Y', t0t)
t0  = time.mktime(t0t)
print 'search date: ', d0s
print 'search time: ', time.ctime(t0), t0

gtfsdb = GTFSDatabase  ('./trimet.gtfsdb')
gdb    = GraphDatabase ('./test.gdb'  )
osmdb  = OSMDB         ('./testgrid.osmdb'  )
g      = gdb.incarnate ()

# FOOT - would be better if i could specify 0 boardings not 0 transfers
wo = WalkOptions() 
wo.max_walk = 2000 
wo.walking_overage = 0.0
wo.walking_speed = 1.0 # trimet uses 0.03 miles / 1 minute - but it uses straight line distance as well
wo.transfer_penalty = 99999
wo.walking_reluctance = 1
wo.max_transfers = 0
# make much higher?
wo.transfer_slack = 60 * 5
wo_foot = wo

# TRANSIT
wo = WalkOptions() 
wo.max_walk = 2000 
wo.walking_overage = 0.0
wo.walking_speed = 1.0 # trimet uses 0.03 miles / 1 minute - but it uses straight line distance as well
wo.transfer_penalty = 60 * 10
wo.walking_reluctance = 1.5
wo.max_transfers = 5
开发者ID:abyrd,项目名称:metric-embedding,代码行数:33,代码来源:make_od_multi.py

示例11: WalkOptions

# 需要导入模块: from graphserver.core import WalkOptions [as 别名]
# 或者: from graphserver.core.WalkOptions import walking_speed [as 别名]
from graphserver.graphdb import GraphDatabase
import time, os

os.environ['TZ'] = 'US/Pacific'
time.tzset()
t0s = "Mon Jan 20 08:50:00 2010"
t0t = time.strptime(t0s)
d0s = time.strftime('%a %b %d %Y', t0t)
t0  = time.mktime(t0t)
print 'search date: ', d0s
print 'search time: ', time.ctime(t0), t0

wo = WalkOptions() 
wo.max_walk = 1600 
wo.walking_overage = 0.1
wo.walking_speed = 0.8 # trimet uses 0.03 miles / 1 minute
wo.transfer_penalty = 60 * 10
wo.walking_reluctance = 2

gdb = GraphDatabase('../../data/trimet-linked-20100117.gsdb')
g = gdb.incarnate()
spt = g.shortest_path_tree( "sta-9677", "sta-13070", State(1, t0), wo )
spt = g.shortest_path_tree( "sta-10120", "osm-40508580", State(1, t0), wo )
spt = g.shortest_path_tree( "sta-3277", "osm-40508580", State(1, t0), wo )
spt = g.shortest_path_tree( "sta-7777", "sta-8340", State(1, t0), wo )
spt = g.shortest_path_tree( "sta-10120", "sta-408", State(1, t0), wo )
spt = g.shortest_path_tree( "sta-9677", "sta-7777", State(1, t0), wo )
spt = g.shortest_path_tree( "sta-7777", None, State(1, t0), wo )
spt = g.shortest_path_tree( "sta-7777", "sta-13197", State(1, t0), wo )
7625 8636 - gives bad results cf trimet
开发者ID:abyrd,项目名称:metric-embedding,代码行数:32,代码来源:multipath-test.py

示例12: get_walk

# 需要导入模块: from graphserver.core import WalkOptions [as 别名]
# 或者: from graphserver.core.WalkOptions import walking_speed [as 别名]
def get_walk( lat1, lon1, lat2, lon2 ):
    vertex1 = get_nearest_vertex( lat1, lon1 )
    vertex2 = get_nearest_vertex( lat2, lon2 )

    wo = WalkOptions()
    wo.transfer_penalty = 0
    wo.walking_speed = 1.0
    wo.hill_reluctance = 1.5

    try:
        spt = graph.shortest_path_tree( vertex1, vertex2, State(1, starttime), wo )
        vertices, edges = spt.path( vertex2 )
    except Exception:
        print "couldn't find a path between (%.4f,%4f) and (%.4f,%.4f)" % ( lat1, lon1, lat2, lon2)
        return None

    first_walk_time = None
    last_walk_time = None
    walk_streets = []
    walk_points = []
    walk_distance = 0

    for edge1,vertex1,edge2,vertex2 in zip( [None]+edges, vertices, edges+[None], vertices[1:]+[None,None] ):

        edge1payload = edge1.payload if edge1 else None
        edge2payload = edge2.payload if edge2 else None

        if edge2 is not None and isinstance(edge2.payload, Street):

            # Add the street geometry for this edge to our walk_points
            geometry_chunk = osmdb.edge( edge2.payload.name )[5]

            if edge2.payload.reverse_of_source:
                walk_points.extend( reversed( geometry_chunk ) )
            else:
                walk_points.extend( geometry_chunk )

            # Add this edge's distance in meters to the walk_distance
            walk_distance += edge2.payload.length

        if edge1 and edge2 and isinstance(edge1.payload, Street) and edge1.payload.way != edge2.payload.way:

            # We hit a turn

            walk_streets.append(get_street_name_for_edge(edge2))

        if (edge1 is None or not isinstance(edge1.payload, Street)) and (edge2 and isinstance(edge2.payload, Street)):

            # We started walking

            walk_streets.append(get_street_name_for_edge(edge2))

            if first_walk_time is None:
                first_walk_time = vertex1.state.time

        if (edge1 and isinstance(edge1.payload, Street)) and (edge2 is None or not isinstance(edge2.payload, Street)):

            # We stopped walking

            last_walk_time = vertex1.state.time

    if first_walk_time is None or last_walk_time is None:
        walk_time = 0
    else:
        walk_time = last_walk_time - first_walk_time

    ret = Walk()
    ret.time = walk_time
    ret.streets = walk_streets
    ret.points = walk_points
    ret.distance = walk_distance / 1609.344 # convert to miles

    return ret
开发者ID:apparentlymart,项目名称:proximo-connector,代码行数:75,代码来源:findadjacentstops.py

示例13: path_xml

# 需要导入模块: from graphserver.core import WalkOptions [as 别名]
# 或者: from graphserver.core.WalkOptions import walking_speed [as 别名]
    def path_xml(self, origlon, origlat, destlon, destlat, dep_time=0, arr_time=0, max_results=1, timezone="", transfer_penalty=60, walking_speed=1.0, walking_reluctance=1.0, max_walk=10000, walking_overage=0.1, seqno=0, street_mode="walk", transit_mode="Both", less_walking="False", udid="", version="2.0", two_way_routing="True"):
        
        if (two_way_routing == "False"):
            self.two_way_routing = False
        
        # set hard bounds on max_results [0,25]
        if (max_results < 0):
            max_results = 0
        elif (max_results > 25):
            max_results = 25
        
        sys.stderr.write("[xml_path_entry_point," + str(time.time()) + "] \"origlon=" + str(origlon) + "&origlat=" + str(origlat) + "&destlon=" + str(destlon) + "&destlat=" + str(destlat) + "&dep_time=" + str(dep_time) + "&arr_time=" + str(arr_time) + "&timezone=" + str(timezone) + "&transfer_penalty=" + str(transfer_penalty) + "&walking_speed=" + str(walking_speed) + "&walking_reluctance=" + str(walking_reluctance) + "&max_walk=" + str(max_walk) + "&walking_overage=" + str(walking_overage) + "&seqno=" + str(seqno) + "&street_mode=\"" + str(street_mode) + "\"&less_walking=\"" + str(less_walking) + "\"&udid=\"" + str(udid) + "\"&version=" + str(version) + "\"\n")
        
        if (origlon <= ChicagoMap.bounding_lon_left or origlon >= ChicagoMap.bounding_lon_right or 
            origlat <= ChicagoMap.bounding_lat_bottom or origlat >= ChicagoMap.bounding_lat_top or 
            destlon <= ChicagoMap.bounding_lon_left or destlon >= ChicagoMap.bounding_lon_right or 
            destlat <= ChicagoMap.bounding_lat_bottom or destlat >= ChicagoMap.bounding_lat_top):
            
            sys.stderr.write("[exit_outside_bounding_box," + str(time.time()) + "]\n")
            raise RoutingException
            #return '<?xml version="1.0"?><routes></routes>'
        
        # initialize spt to 'None' object
        spt = None
        
        # initialize walk options object
        wo = WalkOptions()
        
        # create database connections
        pgosmdb_conn = self.pgosmdb.create_pgosmdb_connection()
        pggtfsdb_conn = self.pggtfsdb.create_pggtfsdb_connection()
        
        try:
            # if the departure time is not specified, set it
            if (dep_time == 0):
                dep_time = int(time.time())
            
            # if the timezone is not specified, default to "America/Chicago"
            if (timezone == ""):
                timezone = "America/Chicago"
            
            # get origin and destination nodes from osm map
            sys.stderr.write("[get_osm_vertex_from_coords," + str(time.time()) + "]\n")
            orig_osm, orig_osm_dist = self.pgosmdb.get_osm_vertex_from_coords(pgosmdb_conn, origlon, origlat)
            dest_osm, dest_osm_dist = self.pgosmdb.get_osm_vertex_from_coords(pgosmdb_conn, destlon, destlat)
            
            #print "\nOrigin OSM: " + str(orig_osm) + " (" + str(orig_osm_dist) + ")"
            #print "Destination OSM: " + str(dest_osm) + " (" + str(dest_osm_dist) + ")\n"
            
            # get origin and destination nodes from gtfs database
            sys.stderr.write("[get_station_vertex_from_coords," + str(time.time()) + "]\n")
            orig_sta, orig_sta_dist = self.pggtfsdb.get_station_vertex_from_coords(pggtfsdb_conn, origlon, origlat)
            dest_sta, dest_sta_dist = self.pggtfsdb.get_station_vertex_from_coords(pggtfsdb_conn, destlon, destlat)
            
            #print "Origin STA: " + str(orig_sta) + " (" + str(orig_sta_dist) + ")"
            #print "Destination STA: " + str(dest_sta) + " (" + str(dest_sta_dist) + ")\n"
            
            # get coordinates for origin node
            if (orig_osm_dist < orig_sta_dist):
                origin = orig_osm
                sys.stderr.write("[get_coords_for_osm_vertex," + str(time.time()) + "]\n")
                orig_node_lat, orig_node_lon = self.pgosmdb.get_coords_for_osm_vertex(pgosmdb_conn, origin)
            else:
                origin = orig_sta
                sys.stderr.write("[get_coords_for_station_vertex," + str(time.time()) + "]\n")
                orig_node_lat, orig_node_lon = self.pggtfsdb.get_coords_for_station_vertex(pggtfsdb_conn, origin)
                
            # get coordinates for destination node
            if (dest_osm_dist < dest_sta_dist):
                dest = dest_osm
                sys.stderr.write("[get_coords_for_osm_vertex," + str(time.time()) + "]\n")
                dest_node_lat, dest_node_lon = self.pgosmdb.get_coords_for_osm_vertex(pgosmdb_conn, dest)
            else:
                dest = dest_sta
                sys.stderr.write("[get_coords_for_station_vertex," + str(time.time()) + "]\n")
                dest_node_lat, dest_node_lon = self.pggtfsdb.get_coords_for_station_vertex(pggtfsdb_conn, dest)
            
            #print "Origin: " + str(origin)
            #print "Destination: " + str(dest) + "\n"
            
            #print "Origin coords: " + str(orig_node_lat) + ", " + str(orig_node_lon)
            #print "Destination coords: " + str(dest_node_lat) + ", " + str(dest_node_lon)
            
            # determine distance from actual origin/destination to osm nodes
            orig_distance = vincenty(float(origlat), float(origlon), orig_node_lat, orig_node_lon)
            dest_distance = vincenty(dest_node_lat, dest_node_lon, float(destlat), float(destlon))
            
            #print "Origin distance: " + str(orig_distance)
            #print "Destination distance: " + str(dest_distance)
            
            # calculate time to origin and destination nodes (seconds)
            time_to_orig = int(round(float( float(orig_distance) / float(walking_speed) )))
            time_to_dest = int(round(float( float(dest_distance) / float(walking_speed) )))
            
            #print "Origin time: " + str(time_to_orig)
            #print "Destination time: " + str(time_to_dest)
            
            # adjust departure time by time needed to reach origin node
            dep_time = (dep_time + time_to_orig)
            
#.........这里部分代码省略.........
开发者ID:jeriksson,项目名称:graphserver,代码行数:103,代码来源:routeserver_xml.py

示例14: getUrbanExplorerBlob

# 需要导入模块: from graphserver.core import WalkOptions [as 别名]
# 或者: from graphserver.core.WalkOptions import walking_speed [as 别名]
 def getUrbanExplorerBlob(self, origlon, origlat, destlon, destlat, arrive_time, street_mode="walk", transit_mode="Both", less_walking="False", transfer_penalty=60, walking_speed=1.0, walking_reluctance=1.0, max_walk=10000, walking_overage=0.1,start_time=0,switch=1):
     
     # get origin and destination nodes from osm map
     sys.stderr.write("[get_osm_vertex_from_coords," + str(time.time()) + "]\n")
     orig_osm, orig_osm_dist = self.pgosmdb.get_osm_vertex_from_coords(origlon, origlat)
     dest_osm, dest_osm_dist = self.pgosmdb.get_osm_vertex_from_coords(destlon, destlat)
         
     # get origin and destination nodes from gtfs database
     sys.stderr.write("[get_station_vertex_from_coords," + str(time.time()) + "]\n")
     orig_sta, orig_sta_dist = self.pggtfsdb.get_station_vertex_from_coords(origlon, origlat)
     dest_sta, dest_sta_dist = self.pggtfsdb.get_station_vertex_from_coords(destlon, destlat)
             
     # get coordinates for origin node
     if (orig_osm_dist < orig_sta_dist):
         origin = orig_osm
         sys.stderr.write("[get_coords_for_osm_vertex," + str(time.time()) + "]\n")
         orig_node_lat, orig_node_lon = self.pgosmdb.get_coords_for_osm_vertex(origin)
     else:
         origin = orig_sta
         sys.stderr.write("[get_coords_for_station_vertex," + str(time.time()) + "]\n")
         orig_node_lat, orig_node_lon = self.pggtfsdb.get_coords_for_station_vertex(origin)
             
     # get coordinates for destination node
     if (dest_osm_dist < dest_sta_dist):
         dest = dest_osm
         sys.stderr.write("[get_coords_for_osm_vertex," + str(time.time()) + "]\n")
         dest_node_lat, dest_node_lon = self.pgosmdb.get_coords_for_osm_vertex(dest)
     else:
         dest = dest_sta
         sys.stderr.write("[get_coords_for_station_vertex," + str(time.time()) + "]\n")
         dest_node_lat, dest_node_lon = self.pggtfsdb.get_coords_for_station_vertex(dest)
 
     wo = WalkOptions()
     wo.transfer_penalty=transfer_penalty
     wo.walking_speed=walking_speed
     wo.walking_reluctance=walking_reluctance
     wo.max_walk=max_walk
     wo.walking_overage=walking_overage
     
     # check for wheelchair street_mode
     if (street_mode == "wheelchair"):
         wo.with_wheelchair = int(True)
         wo.transfer_penalty = 180
     else:
         wo.with_wheelchair = int(False)
     
     # check for bike street_mode
     if (street_mode == "bike"):
         wo.transfer_penalty = 120
     
     # check for transit_mode
     if (transit_mode == "Both"):
         wo.transit_types = int(14)
     elif (transit_mode == "Bus"):
         wo.transit_types = int(8)
     elif (transit_mode == "Rail"):
         wo.transit_types = int(6)
     elif (transit_mode == "None"):
         wo.transit_types = int(0)
         
     # check for less_walking flag
     if (less_walking == "True"):
         wo.walking_reluctance *= 10.0
     
     if (start_time == 0):
         start_time = int(time.time())
 
     if (switch == 1):
         graphserver.core.makeImage(self.graph.soul, origin, dest, State(self.graph.num_agencies,start_time), State(self.graph.num_agencies,arrive_time), wo)
         return open("explorerimages/blah.png", "rb").read()
     else:
         graphserver.core.makeUrbanExplorerBlob(self.graph.soul, origin, dest, State(self.graph.num_agencies,start_time), State(self.graph.num_agencies,arrive_time), wo)
         return open("explorerimages/blah2.png", "rb").read()
开发者ID:jeriksson,项目名称:graphserver,代码行数:75,代码来源:routeserver_xml.py

示例15: GTFSDatabase

# 需要导入模块: from graphserver.core import WalkOptions [as 别名]
# 或者: from graphserver.core.WalkOptions import walking_speed [as 别名]
time.tzset()
t0s = "Tue Mar 09 08:50:00 2010"
t0t = time.strptime(t0s)
d0s = time.strftime('%a %b %d %Y', t0t)
t0  = time.mktime(t0t)
print d0s
print time.ctime(t0), t0

gtfsdb = GTFSDatabase  ('/home/andrew/data/pdx/trimet-2010-02-28.gtfsdb')
gdb    = GraphDatabase ('/home/andrew/data/pdx/trimet.gsdb'  )
g      = gdb.incarnate ()

wo = WalkOptions() 
wo.max_walk = 1600 
wo.walking_overage = 0.0
wo.walking_speed = 1.0 # trimet uses 0.03 miles / 1 minute - but it uses straight line distance as well
wo.transfer_penalty = 60 * 10
wo.walking_reluctance = 2
wo.max_transfers = 5
wo.transfer_slack = 60 * 4

while(True) :
    input = raw_input('o d t / wo > ').split(' ')
    if len(input) == 0 : sys.exit(0)
    elif input[0] == 'wo' :
        try :
            wo.max_walk = int(raw_input('wo.max_walk = '))
            wo.walking_overage = float(raw_input('wo.walking_overage = '))
            wo.walking_speed = float(raw_input('wo.walking_speed = '))
            wo.transfer_penalty = int(raw_input('wo.transfer_penalty = '))
            wo.walking_reluctance = float(raw_input('wo.walking_reluctance = '))
开发者ID:abyrd,项目名称:metric-embedding,代码行数:33,代码来源:spt-step.py


注:本文中的graphserver.core.WalkOptions.walking_speed方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。