def emit_point(self, road1, road2 ) : #_, data1 = ROAD.obtain_edge( self.roadnet, road1, data_flag=True ) #_, data2 = ROAD.obtain_edge( self.roadnet, road2, data_flag=True ) p = roadprob.sample_onroad( road1, self.roadnet ) q = roadprob.sample_onroad( road2, self.roadnet ) self.output( (p,q) )
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) ] demands.extend( newdems ) return demands
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