def samplepairs( T, rategraph, roadmap, rate_attr='rate' ) :
    pairs = []
    point_on = lambda road : roadprob.sample_onroad( road, roadmap, 'length' )
    for road1, road2, data in rategraph.edges_iter( data=True ) :
        lam = data.get( rate_attr, 0. )
        n = np.random.poisson( lam * T )
        SS = [ point_on( road1 ) for i in xrange(n) ]
        TT = [ point_on( road2 ) for i in xrange(n) ]
        newp = zip(SS,TT)
        pairs.extend( newp )
        
    return pairs
Example #2
0
def sample_demands( T, rategraph, roadnet, rate='rate' ) :
    demands = []
    point_on = lambda road : roadprob.sample_onroad( road, roadnet, 'length' )
    for road1, road2, data in rategraph.edges_iter( data=True ) :
        n = np.random.poisson( data.get( rate, 0. ) * T )
        #newdems = [ demand( point_on( road1 ), point_on( road2 ) ) for i in range(n) ]
        newdems = [ ( point_on( road1 ), point_on( road2 ) ) for i in range(n) ]
        demands.extend( newdems )
        
    numdem = len( demands )
    print 'sampled %d' % numdem
    debug_input()
    
    times = T * np.random.rand(numdem)
    script = sorted( zip( times, demands ) )
    return script
 def sample(self) :
     road1, road2 = self.wset.sample()
     x = roadprob.sample_onroad( road1, self.roadmap, self.length_attr )
     y = roadprob.sample_onroad( road2, self.roadmap, self.length_attr )
     
     return x,y