This open-source package is a tool to convert utdf file to GMNS format.
Project description
utdf2gmns: Introduction
This open-source package is a tool to convert utdf file to GMNS format.
Required Data Input Files:
- UTDF.csv
- node.csv (GMNS format)
- movement.csv (GMNS format)
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_geo
- 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 intersection_utdf.csv
- A file named utdf2gmns.pickle to store dictionary object.
Package dependencies:
- geocoder==1.38.1
- numpy==1.23.3
- openpyxl==3.0.10
- pandas==1.4.4
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
Example
import utdf2gmns as ug
import pandas as pd
if__name__=="main":
city =" Bullhead City, AZ"
# option= 1, generate movement_utdf.csv directly
# option= 2, generate movement_utdf.csv step by step (more flexible)
option =1
if option ==1:
# NOTE: Option 1, generate movement_utdf.csv directly
path =r"C:\Users\roche\Desktop\coding\data_bullhead_seg4" # the fold contain UTDF.csv, node.csv and movement.csv
res = ug.generate_movement_utdf(path, city,isSave2csv=True)
if option ==2:
# NOTE: Option 2, generate movement_utdf.csv step by step (more flexible)
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"
# Step 1: read UTDF.csv
utdf_dict_data = ug.generate_utdf_dataframes(path_utdf, city)
# Step 1.1: get intersection data from UTDF.csv
df_intersection = utdf_dict_data["utdf_intersection"]
# Step 1.2: geocoding intersection data
df_intersection_geo = ug.generate_coordinates_from_intersection(df_intersection)
# Step 2: read node.csv and movement.csv
df_node = pd.read_csv(path_node)
df_movement = pd.read_csv(path_movement)
# Step 3: match intersection_geo and node
df_intersection_node = ug.match_intersection_node(df_intersection_geo, df_node)
# Step 4: match movement and intersection_node
df_movement_intersection = ug.match_movement_and_intersection_node(df_movement, df_intersection_node)
# Step 5: match movement and utdf_lane
df_movement_utdf_lane = ug.match_movement_utdf_lane(df_movement_intersection, utdf_dict_data)
# Step 6: match movement and utdf_phase_timeplans
df_movement_utdf_phase = ug.match_movement_utdf_phase_timeplans(df_movement_utdf_lane, utdf_dict_data)
TODO LIST
- Print out how many intersections being geocoded.
- Print out how many movements being matched or not matched for signalized intersecton nodes in osm2gmns files.
- Add cycle length and green time for each movement.
- Check reasonable capacity.
- Check each movement is reasonable (like 15s of green time...). other attributes.
- Check number of lanes correctness between osm2gmns file and synchro file per movements.
- Print out check log.
- Number of lanes of the movements from synchro file.
- Add signal info to micre-link.csv
- Add function to verify whether geocoded for utdf_geo
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
UTDF2GMNS-0.2.2.tar.gz
(17.5 kB
view details)
Built Distribution
UTDF2GMNS-0.2.2-py3-none-any.whl
(20.9 kB
view details)
File details
Details for the file UTDF2GMNS-0.2.2.tar.gz
.
File metadata
- Download URL: UTDF2GMNS-0.2.2.tar.gz
- Upload date:
- Size: 17.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7911b23f82871c64df16545b25ccf1a83a47353dcd37dbabc90ffb522d59a2a3 |
|
MD5 | 1c81cb609869506e194e0203e03a8dbe |
|
BLAKE2b-256 | 9bbd4b0fde20b9d5746d7c9783cd07f4228326c5f9bd730537469ccda736946f |
File details
Details for the file UTDF2GMNS-0.2.2-py3-none-any.whl
.
File metadata
- Download URL: UTDF2GMNS-0.2.2-py3-none-any.whl
- Upload date:
- Size: 20.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7828ed4f7556bf1115e76380828d98917ea301577c946c9d262965c72d832260 |
|
MD5 | 02d27f1158b6b40801fadc1bbfdbfbff |
|
BLAKE2b-256 | 3fc767d10d1cd8c59ff499579915000bd8d37a965010133ffff6fc3ac37478ee |