Source code for utdf2gmns.func_lib.utdf.cvt_utdf_lane_df_to_dict

'''
##############################################################
# Created Date: Wednesday, March 26th 2025
# Contact Info: luoxiangyong01@gmail.com
# Author/Copyright: Mr. Xiangyong Luo
##############################################################
'''
import pandas as pd


[docs] def cvt_lane_df_to_dict(df_lane: pd.DataFrame) -> dict: """Convert UTDF lane DataFrame to dictionary. """ # get unique intersection id int_id_lst = list(df_lane['INTID'].unique()) # convert utdf_lane dataframe to dictionary lane_dict = {} for int_id in int_id_lst: df_lane_int = df_lane[df_lane['INTID'] == int_id] df_lane_int.set_index("RECORDNAME", inplace=True) del df_lane_int['INTID'] lane_dict[int_id] = df_lane_int.to_dict('dict') empty_key = [] # Remove invalid turning movement for key in lane_dict[int_id].keys(): if not lane_dict[int_id][key]['Up Node']: # Up Node is empty empty_key.append(key) for key in empty_key: del lane_dict[int_id][key] return lane_dict