Exemplo n.º 1
0
def load_cinemas_from_hdf5(file_path: str):
    with h5py.File(file_path, "r", libver="latest", swmr=True) as f:
        cinemas = f["cinemas"]
        cinemas_list = []
        n_cinemas = cinemas.attrs["n_cinemas"]
        ids = cinemas["id"]
        coordinates = cinemas["coordinates"]
        for k in range(n_cinemas):
            cinema = Cinema()
            cinema.id = ids[k]
            cinema.coordinates = coordinates[k]
            cinemas_list.append(cinema)
    return Cinemas(cinemas_list)
Exemplo n.º 2
0
def make_leisure():
    pubs = Pubs([Pub()], make_tree=False)
    pub_distributor = PubDistributor(
        pubs,
        male_age_probabilities={"18-50": 0.5},
        female_age_probabilities={"10-40": 0.2},
        drags_household_probability=0.0,
    )
    pubs[0].coordinates = [1, 2]
    cinemas = Cinemas([Cinema()], make_tree=False)
    cinemas[0].coordinates = [1, 2]
    cinema_distributor = CinemaDistributor(
        cinemas,
        male_age_probabilities={"10-40": 0.2},
        female_age_probabilities={"10-40": 0.2},
        drags_household_probability=1.0,
    )
    leisure = Leisure(leisure_distributors={
        "pubs": pub_distributor,
        "cinemas": cinema_distributor
    })
    leisure.generate_leisure_probabilities_for_timestep(0.01, False)
    return leisure
Exemplo n.º 3
0
def make_dummy_world(geog):
    super_area = geog.super_areas.members[0]
    company = Company(super_area=super_area, n_workers_max=100, sector="Q")

    household1 = Household()
    household1.area = super_area.areas[0]
    hospital = Hospital(
        n_beds=40,
        n_icu_beds=5,
        super_area=super_area.name,
        coordinates=super_area.coordinates,
    )
    uni = University(
        coordinates=super_area.coordinates,
        n_students_max=2500,
    )

    worker1 = Person.from_attributes(age=44,
                                     sex='f',
                                     ethnicity='A1',
                                     socioecon_index=5)
    worker1.area = super_area.areas[0]
    household1.add(worker1, subgroup_type=household1.SubgroupType.adults)
    worker1.sector = "Q"
    company.add(worker1)

    worker2 = Person.from_attributes(age=42,
                                     sex='m',
                                     ethnicity='B1',
                                     socioecon_index=5)
    worker2.area = super_area.areas[0]
    household1.add(worker2, subgroup_type=household1.SubgroupType.adults)
    worker2.sector = "Q"
    company.add(worker2)

    student1 = Person.from_attributes(age=20,
                                      sex='f',
                                      ethnicity='A1',
                                      socioecon_index=5)
    student1.area = super_area.areas[0]
    household1.add(student1, subgroup_type=household1.SubgroupType.adults)
    uni.add(student1)

    pupil1 = Person.from_attributes(age=8,
                                    sex='m',
                                    ethnicity='C1',
                                    socioecon_index=5)
    pupil1.area = super_area.areas[0]
    household1.add(pupil1, subgroup_type=household1.SubgroupType.kids)
    #school.add(pupil1)

    pupil2 = Person.from_attributes(age=5,
                                    sex='f',
                                    ethnicity='A1',
                                    socioecon_index=5)
    pupil2.area = super_area.areas[0]
    household1.add(pupil2, subgroup_type=household1.SubgroupType.kids)
    #school.add(pupil2)

    world = World()
    world.schools = Schools([])
    world.hospitals = Hospitals([hospital])
    world.households = Households([household1])
    world.universities = Universities([uni])
    world.companies = Companies([company])
    world.people = Population([worker1, worker2, student1, pupil1, pupil2])
    world.super_areas = geog.super_areas
    world.areas = geog.areas
    world.cemeteries = Cemeteries()
    cinema = Cinema()
    cinema.coordinates = super_area.coordinates
    world.cinemas = Cinemas([cinema])
    pub = Pub()
    pub.coordinates = super_area.coordinates
    world.pubs = Pubs([pub])

    world.areas[0].people = world.people

    return world