Пример #1
0
def get_dev_projects_table(scenario, parcels):
    # requires the user has MTC's urban_data_internal
    # repository alongside bayarea_urbansim
    urban_data_repo = ("../urban_data_internal/development_projects/")
    file = "2021_0309_1939_development_projects.csv"
    print('Version of development_projects: {}'.format(file))
    current_dev_proj = (file)
    orca.add_injectable("dev_proj_file", current_dev_proj)
    df = pd.read_csv(os.path.join(urban_data_repo, current_dev_proj))
    df = reprocess_dev_projects(df)
    orca.add_injectable("devproj_len", len(df))

    # this filters project by scenario
    scen = 'scen' + str(scenario)
    if scen in df:
        # df[scenario] is 1s and 0s indicating whether to include it
        df = df[df[scen].astype('bool')]
    orca.add_injectable("devproj_len_scen", len(df))

    df = df.dropna(subset=['geom_id'])

    cnts = df.geom_id.isin(parcels.geom_id).value_counts()
    if False in cnts.index:
        print("%d MISSING GEOMIDS!" % cnts.loc[False])

    df = df[df.geom_id.isin(parcels.geom_id)]

    geom_id = df.geom_id  # save for later
    df = df.set_index("geom_id")
    df = geom_id_to_parcel_id(df, parcels).reset_index()  # use parcel id
    df["geom_id"] = geom_id.values  # add it back again cause it goes away
    orca.add_injectable("devproj_len_geomid", len(df))

    return df
Пример #2
0
def parcels_geography(parcels, scenario, settings, policy):
    file = os.path.join(misc.data_dir(), "2021_02_25_parcels_geography.csv")
    print('Version of parcels_geography: {}'.format(file))
    df = pd.read_csv(file, index_col="geom_id")
    df = geom_id_to_parcel_id(df, parcels)

    # this will be used to map juris id to name
    juris_name = pd.read_csv(os.path.join(misc.data_dir(),
                                          "census_id_to_name.csv"),
                             index_col="census_id").name10

    df["juris_name"] = df.jurisdiction_id.map(juris_name)

    df.loc[2054504, "juris_name"] = "Marin County"
    df.loc[2054505, "juris_name"] = "Santa Clara County"
    df.loc[2054506, "juris_name"] = "Marin County"
    df.loc[572927, "juris_name"] = "Contra Costa County"
    # assert no empty juris values
    assert True not in df.juris_name.isnull().value_counts()

    df['juris_trich'] = df.juris + '-' + df.trich_id

    df["pda_id_pba40"] = df.pda_id_pba40.str.lower()
    # danville wasn't supposed to be a pda
    df["pda_id_pba40"] = df.pda_id_pba40.replace("dan1", np.nan)

    # Add Draft Blueprint geographies: PDA, TRA, PPA, sesit
    if scenario in policy['geographies_db_enable']:
        df["pda_id_pba50"] = df.pda_id_pba50.str.lower()
        df["gg_id"] = df.gg_id.str.lower()
        df["tra_id"] = df.tra_id.str.lower()
        df['juris_tra'] = df.juris + '-' + df.tra_id
        df["ppa_id"] = df.ppa_id.str.lower()
        df['juris_ppa'] = df.juris + '-' + df.ppa_id
        df["sesit_id"] = df.sesit_id.str.lower()
        df['juris_sesit'] = df.juris + '-' + df.sesit_id
    # Use Final Blueprint geographies: PDA, TRA, PPA, sesit
    elif scenario in policy['geographies_fb_enable']:
        df["pda_id_pba50"] = df.pda_id_pba50_fb.str.lower()
        df["gg_id"] = df.fbp_gg_id.str.lower()
        df["tra_id"] = df.fbp_tra_id.str.lower()
        df['juris_tra'] = df.juris + '-' + df.tra_id
        df["ppa_id"] = df.fbp_ppa_id.str.lower()
        df['juris_ppa'] = df.juris + '-' + df.ppa_id
        df["sesit_id"] = df.fbp_sesit_id.str.lower()
        df['juris_sesit'] = df.juris + '-' + df.sesit_id
    # Use EIR geographies: TRA, PPA, sesit, CoC
    elif scenario in policy['geographies_eir_enable']:
        df["pda_id_pba50"] = df.pda_id_pba50_fb.str.lower()
        df["gg_id"] = df.eir_gg_id.str.lower()
        df["tra_id"] = df.eir_tra_id.str.lower()
        df['juris_tra'] = df.juris + '-' + df.tra_id
        df["ppa_id"] = df.eir_ppa_id.str.lower()
        df['juris_ppa'] = df.juris + '-' + df.ppa_id
        df["sesit_id"] = df.eir_sesit_id.str.lower()
        df['juris_sesit'] = df.juris + '-' + df.sesit_id
        df['coc_id'] = df.eir_coc_id.str.lower()
        df['juris_coc'] = df.juris + '-' + df.coc_id

    return df
Пример #3
0
def zoning_baseline(parcels, zoning_lookup, settings):
    file = os.path.join(misc.data_dir(),
                        "2020_11_05_zoning_parcels_hybrid_pba50.csv")
    print('Version of zoning_parcels: {}'.format(file))
    df = pd.read_csv(file, index_col="geom_id")
    df = pd.merge(df,
                  zoning_lookup.to_frame(),
                  left_on="zoning_id",
                  right_index=True)
    df = geom_id_to_parcel_id(df, parcels)

    return df
Пример #4
0
def static_parcels(settings, parcels):
    # list of geom_ids to not relocate
    static_parcels = settings["static_parcels"]
    # geom_ids -> parcel_ids
    return geom_id_to_parcel_id(pd.DataFrame(index=static_parcels),
                                parcels).index.values