def main(get_nodes=False): """Defines the simulation, map, monitors, persons.""" t = time.time() if not get_nodes: try: name = sys.argv[1] port = int(sys.argv[2]) except IndexError: print 'No name or port number specified!' print 'Usage: python external-controlled_random_wiggler.py NAME PORT' sys.exit(-1) s = SimulationControlled(geo=osm.OSMModel('../data/minimap0.osm'), name=name, host='localhost', port=port, rel_speed=40) print time.time() - t #m = s.add_monitor(EmptyMonitor, 2) m = s.add_monitor(SocketPlayerMonitor, 1) s.add_persons(RandomWiggler, 1, monitor=m) for p in [node for node in s.geo.way_nodes if "amenity" in node.tags and node.tags["amenity"] == "cafe"]: c = Cafe(p.tags['name'], s) p.worldobject = c s.activate(c, c.serve(), 0) s.run(until=1000000, real_time=True, monitor=True) else: s = Simulation(geo=osm.OSMModel('../data/minimap0.osm'), rel_speed=40) for p in [node for node in s.geo.way_nodes if "amenity" in node.tags and node.tags["amenity"] == "cafe"]: print p.id, p.lat, p.lon, s.geo.map_nodeid_osmnodeid[p.id]
def main(): """Defines the simulation, map, monitors, persons. Cafe locations are set up at cafe POI on road network.""" s = Simulation(geo=osm.OSMModel('../data/minimap0.osm'), rel_speed=50, seed=6) #m = s.add_monitor(ChildprocessPlayerChamplainMonitor, 2) m = s.add_monitor(SocketPlayerMonitor, 2) s.add_persons(PoiActWiggler, 1, monitor=m, args={"infected":True, "speed":1.7}) s.add_persons(PoiActWiggler, 1, monitor=m) for p in [node for node in s.geo.way_nodes if "amenity" in node.tags and node.tags["amenity"] == "cafe"]: c = Cafe(p.tags['name'], s) p.worldobject = c s.activate(c, c.serve(), 0) s.run(until=50000, real_time=True, monitor=True)