utdf2gmns
Introduction
A tool to convert utdf file to GMNS format: synchro utdf format to gmns signal timing format at movement layer
Required Data Input Files:
Produced outputs
If input folder have UTDF.csv only, outputs are:
- A dictionary store utdf data with keys: Networks, Node, Links, Timeplans, Lanes, and utdf_intersection
- A file named utdf2gmns.pickle to store dictionary object.
If input folder have extra node.csv and movement.csv, outputs are:
- Two files named: movement_utdf.csv and utdf_intersection.csv
Sample results: datasets
Package dependencies:
Data Conversion Steps:
Step 1: Read UTDF.csv file and perform geocoding, then produce utdf_geo, utdf_lane, and utdf_phase_timeplans.
Step 2: Match four files (utdf_geo, node, utdf_lane, utdf_pahse_timeplans, movement) to produce movement_utdf
Installation
pip install utdf2gmns
Simple Example
import utdf2gmns as ug
import pandas as pd
if__name__=="__main__":
city =" Bullhead City, AZ"
option = 1
if option == 1:
path =r"C:\Users\roche\Desktop\coding\data_bullhead_seg4"
res = ug.generate_movement_utdf(path, city,isSave2csv=True)
if option == 2:
path_utdf =r"C:\Users\roche\Desktop\coding\data_bullhead_seg4\UTDF.csv"
path_node =r"C:\Users\roche\Desktop\coding\data_bullhead_seg4\node.csv"
path_movement =r"C:\Users\roche\Desktop\coding\data_bullhead_seg4\movement.csv"
utdf_dict_data = ug.generate_utdf_dataframes(path_utdf, city)
df_intersection = utdf_dict_data["utdf_intersection"]
df_intersection_geo = ug.generate_coordinates_from_intersection(df_intersection)
df_node = pd.read_csv(path_node)
df_movement = pd.read_csv(path_movement)
df_intersection_node = ug.match_intersection_node(df_intersection_geo, df_node)
df_movement_intersection = ug.match_movement_and_intersection_node(df_movement, df_intersection_node)
df_movement_utdf_lane = ug.match_movement_utdf_lane(df_movement_intersection, utdf_dict_data)
df_movement_utdf_phase = ug.match_movement_utdf_phase_timeplans(df_movement_utdf_lane, utdf_dict_data)
TODO LIST
Call for Contributions
The utdf2gmns project welcomes your expertise and enthusiasm!
Small improvements or fixes are always appreciated. If you are considering larger contributions to the source code, please contact us through email:
Xiangyong Luo : luoxiangyong01@gmail.com
Dr. Xuesong Simon Zhou : xzhou74@asu.edu
Writing code isn't the only way to contribute to utdf2gmns. You can also:
- review pull requests
- help us stay on top of new and old issues
- develop tutorials, presentations, and other educational materials
- develop graphic design for our brand assets and promotional materials
- translate website content
- help with outreach and onboard new contributors
- write grant proposals and help with other fundraising efforts
For more information about the ways you can contribute to utdf2gmns, visit our GitHub. If you' re unsure where to start or how your skills fit in, reach out! You can ask by opening a new issue or leaving a comment on a relevant issue that is already open on GitHub.
How to Cite
If you use utdf2gmns in your work or research, please use the following entry:
Luo, X. and Zhou, X. (2022, December 17). UTDF2GMNS. Retrieved from https://github.com/xyluo25/utdf2gmns