コード例 #1
0
def skims(omx_file, preload_3d_skims, cache_skim_key_values):

    logger.info("loading skims (preload_3d_skims: %s)" % preload_3d_skims)

    skims = skim.Skims()
    skims['DISTANCE'] = skim.Skim(omx_file['DIST'], offset=-1)
    skims['DISTBIKE'] = skim.Skim(omx_file['DISTBIKE'], offset=-1)
    skims['DISTWALK'] = skim.Skim(omx_file['DISTWALK'], offset=-1)

    if preload_3d_skims:
        logger.info("skims injectable preloading preload_3d_skims")
        # FIXME - assumes that the only types of key2 are time_periods
        # there may be more time periods in the skim than are used by the model
        skims_in_omx = omx_file.listMatrices()
        for skim_name in skims_in_omx:
            # logger.debug("skims injectable preloading skim %s" % skim_name)
            key, sep, key2 = skim_name.partition('__')
            if key2 and key2 in cache_skim_key_values:
                skims.set_3d(key, key2,
                             skim.Skim(omx_file[skim_name], offset=-1))
    else:
        # need to load these for the injectables above
        skims.set_3d('SOV_TIME', 'AM',
                     skim.Skim(omx_file['SOV_TIME__AM'], offset=-1))
        skims.set_3d('SOV_TIME', 'PM',
                     skim.Skim(omx_file['SOV_TIME__PM'], offset=-1))
        skims.set_3d('SOV_TIME', 'MD',
                     skim.Skim(omx_file['SOV_TIME__MD'], offset=-1))

    return skims
コード例 #2
0
ファイル: skims.py プロジェクト: terratenney/activitysim
def skim_dict(omx_file, cache_skim_key_values):

    logger.info("skims injectable loading skims")

    skim_dict = askim.SkimDict()
    skims_in_omx = omx_file.listMatrices()
    for skim_name in skims_in_omx:
        key, sep, key2 = skim_name.partition('__')
        if not sep:
            # no separator - this is a simple 2d skim - we load them all
            skim_dict.set(key, askim.Skim(omx_file[skim_name], offset=-1))
        else:
            # there may be more time periods in the skim than are used by the model
            # cache_skim_key_values is a list of time periods (frem settings) that are used
            # FIXME - assumes that the only types of key2 are time_periods
            if key2 in cache_skim_key_values:
                skim_dict.set((key, key2),
                              askim.Skim(omx_file[skim_name], offset=-1))

    return skim_dict
コード例 #3
0
ファイル: skims.py プロジェクト: YanjieDong/activitysim
def sovpm_skim(nonmotskm_matrix):
    # FIXME use the right omx file
    return skim.Skim(nonmotskm_matrix, offset=-1)
コード例 #4
0
ファイル: skims.py プロジェクト: YanjieDong/activitysim
def distance_skim(nonmotskm_matrix):
    return skim.Skim(nonmotskm_matrix, offset=-1)