コード例 #1
0
# this is the actual zoning
@sim.table('zoning', cache=True)
def zoning(store):
    df = store['zoning']
    return df


# zoning for use in the "baseline" scenario
# comes in the hdf5
@sim.table('zoning_baseline', cache=True)
def zoning_baseline(zoning, zoning_for_parcels):
    df = pd.merge(zoning_for_parcels.to_frame(),
                  zoning.to_frame(),
                  left_on='zoning',
                  right_index=True)
    return df


sim.broadcast('zones', 'homesales', cast_index=True, onto_on='zone_id')
sim.broadcast('zones', 'costar', cast_index=True, onto_on='zone_id')
sim.broadcast('zones', 'apartments', cast_index=True, onto_on='zone_id')
sim.broadcast('zones', 'buildings', cast_index=True, onto_on='zone_id')
sim.broadcast('zones_prices', 'buildings', cast_index=True, onto_on='zone_id')
sim.broadcast('parcels', 'buildings', cast_index=True, onto_on='parcel_id')
sim.broadcast('buildings',
              'households',
              cast_index=True,
              onto_on='building_id')
sim.broadcast('buildings', 'jobs', cast_index=True, onto_on='building_id')
コード例 #2
0
    return df


# residential price data
@sim.table('assessor_transactions', cache=True)
def assessor_transactions(store):
    df = store['assessor_transactions']
    df["index"] = df.index
    df.drop_duplicates(cols='index', take_last=True, inplace=True)
    del df["index"]
    return df


# luz price from pecas
@sim.table('pecas_prices', cache=True)
def pecas_prices(store):
    df = store['pecas_prices']
    return df


# this specifies the relationships between tables
sim.broadcast('nodes', 'costar', cast_index=True, onto_on='node_id')
sim.broadcast('parcels', 'costar', cast_index=True, onto_on='parcel_id')
sim.broadcast('nodes',
              'assessor_transactions',
              cast_index=True,
              onto_on='node_id')
sim.broadcast('parcels',
              'assessor_transactions',
              cast_index=True,
              onto_on='parcel_id')
コード例 #3
0
# these are shapes - "zones" in the bay area
@sim.table('zones', cache=True)
def zones(store):
    df = store['zones']
    return df


# these are dummy returns that last until accessibility runs
@sim.table("nodes", cache=True)
def nodes():
    return pd.DataFrame()


@sim.table("logsums", cache=True)
def logsums(settings):
    logsums_index = settings.get("logsums_index_col", "taz")
    return pd.read_csv(os.path.join(misc.data_dir(),
                                    'logsums.csv'),
                       index_col=logsums_index)


# this specifies the relationships between tables
sim.broadcast('nodes', 'buildings', cast_index=True, onto_on='node_id')
sim.broadcast('nodes', 'parcels', cast_index=True, onto_on='node_id')
sim.broadcast('logsums', 'buildings', cast_index=True, onto_on='zone_id')
sim.broadcast('logsums', 'parcels', cast_index=True, onto_on='zone_id')
sim.broadcast('parcels', 'buildings', cast_index=True, onto_on='parcel_id')
sim.broadcast(
    'buildings', 'households', cast_index=True, onto_on='building_id')
sim.broadcast('buildings', 'jobs', cast_index=True, onto_on='building_id')
コード例 #4
0
def naics_to_empsix(settings):
    return settings["naics_to_empsix"]


@sim.injectable('sector_id_to_desc', cache=True)
def building_sqft_per_job(settings):
    return settings['sector_id_to_desc']


@sim.injectable("summary", cache=True)
def simulation_summary_data(run_number):
    return wfrc_utils.SimulationSummaryData(run_number)


# this specifies the relationships between tables
sim.broadcast('zones', 'buildings', cast_index=True, onto_on='zone_id')
sim.broadcast('zones', 'parcels', cast_index=True, onto_on='zone_id')
sim.broadcast('nodes',
              'buildings_for_estimation',
              cast_index=True,
              onto_on='node_id')
sim.broadcast('parcels',
              'buildings_for_estimation',
              cast_index=True,
              onto_on='parcel_id')
sim.broadcast('zones',
              'buildings_for_estimation',
              cast_index=True,
              onto_on='zone_id')
sim.broadcast('nodes',
              'buildings_for_estimation_grouped',
コード例 #5
0
@sim.table('zones', cache=True)
def zones(store):
    df = store['zones']
    return df


# these are dummy returns that last until accessibility runs
@sim.table("nodes", cache=True)
def nodes():
    return pd.DataFrame()


@sim.table("logsums", cache=True)
def logsums(settings):
    logsums_index = settings.get("logsums_index_col", "taz")
    return pd.read_csv(os.path.join(misc.data_dir(), 'logsums.csv'),
                       index_col=logsums_index)


# this specifies the relationships between tables
sim.broadcast('nodes', 'buildings', cast_index=True, onto_on='node_id')
sim.broadcast('nodes', 'parcels', cast_index=True, onto_on='node_id')
sim.broadcast('logsums', 'buildings', cast_index=True, onto_on='zone_id')
sim.broadcast('logsums', 'parcels', cast_index=True, onto_on='zone_id')
sim.broadcast('parcels', 'buildings', cast_index=True, onto_on='parcel_id')
sim.broadcast('buildings',
              'households',
              cast_index=True,
              onto_on='building_id')
sim.broadcast('buildings', 'jobs', cast_index=True, onto_on='building_id')
コード例 #6
0
ファイル: datasources.py プロジェクト: UDST/sandag_urbansim
@sim.injectable('building_sqft_per_job', cache=True)
def building_sqft_per_job(settings):
    return settings['building_sqft_per_job']
    
# non-residential rent data
@sim.table('costar', cache=True)
def costar(store):
    df = store['costar']
    return df
    
# residential price data
@sim.table('assessor_transactions', cache=True)
def assessor_transactions(store):
    df = store['assessor_transactions']
    df["index"] = df.index
    df.drop_duplicates(cols='index', take_last=True, inplace=True)
    del df["index"]
    return df

# luz price from pecas
@sim.table('pecas_prices', cache=True)
def pecas_prices(store):
    df = store['pecas_prices']
    return df


# this specifies the relationships between tables
sim.broadcast('nodes', 'costar', cast_index=True, onto_on='node_id')
sim.broadcast('parcels', 'costar', cast_index=True, onto_on='parcel_id')
sim.broadcast('nodes', 'assessor_transactions', cast_index=True, onto_on='node_id')
sim.broadcast('parcels', 'assessor_transactions', cast_index=True, onto_on='parcel_id')