-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🧹 Chore: Better understand Emme's Drive Access to Transit Path Building Assumptions #129
Comments
tm2py/tm2py/components/network/transit/transit_skim.py Lines 620 to 624 in a638b9c
Is the calculation for converting TOLL to TIME correct here? The VOT should be in $. What about the DTOLL skim? If it is in cents, then instead of 60 it should be 0.6. |
Good point that we should check the units of DTOLL (cents) / VOT (dollars per hour) --> (hours * cents / dollars) * (1 dollar / 100 cents) * (60 minutes / 1 hour) --> 0.60 But in TM2, prices should be expressed in dollars. So: DTOLL (dollars) / VOT (dollars per hour) --> (hours) * (60 minutes / 1 hour) --> 60 So this appears to be a correct translation. But we need to find out where the |
The values for DTIME will be embedded in the definition of the drive aux transit mode, with (most likely) a calculation expression used to assign the value. The speed factor will either be a constant (for a constant speed, which should not be the case for the drive mode) or a simple expression as keyword*factor, where keyword is one of timau, ul1, ul2 or ul3, and factor is a float between 0.01 and 999.99, which results in the travel time / gen cost per link. |
Found this section here which appears to be the calculation of time in data1 (ul1) including a toll value, which is the same one skimmed with DTOLL |
Perhaps we have some inconsistencies in the implementation -
tm2py/tm2py/components/network/highway/highway_network.py Lines 230 to 234 in a638b9c
tm2py/tm2py/components/network/highway/highway_assign.py Lines 446 to 461 in a638b9c
A few other things to check:
|
In the older versions, we used As highlighted by @i-am-sijia, tm2py/tm2py/components/network/transit/transit_network.py Lines 172 to 184 in a638b9c
|
Thanks everyone. So, it appears:
After hearing back from @inrokevin on 1. above, I'll close this issue. |
@inrokevin has confirmed that all the paths skimmed for the drive access modes are a single, best path. We have also opened #130 to change the |
To create drive access to transit paths in Emme, the roadway network is used. This line obtains the drive time and distance. But it's not clear what these values include. The comment in lines 547 and 548 state that the values include perceived drive time and a toll penalty, but do not point the reader to where the expression lives that determines this definition.
So the first chore is to understand what is included in
DTIME
. IfDTIME
is a generalized cost, it should be relabeled as such to avoid additional confusion. Once we understand what is going on, we'll create new Issues and connect them here to do that work. Also, I recall from previous conversations that the skim values are from the single best path (between origin and to the location of first transit boarding), rather than a composite best path. We should confirm and document here.The second chore is understand if distance is included in the generalized cost values captured by
DTIME
. The above referenced line of code suggests the distance is being recorded. I believe that this is the distance of the single best path. But if it's the best path per a generalized cost, we need to know if the generalized cost includes distance. If so, it may be better to use, for example, the ratio of the generalized cost between (a) the origin and the drive access to transit location and (b) the origin and the destination, rather than the ratios of the distances. If not, we should understand why we have a generalized cost that excludes distance. But before doing that we need to understand the first chore. Issues will be created if needed.Progress:
Considerations
Based on your conversations on Jan 24, 2024. FYI @e-lo, @lmz, @gregerhardt, @inrokevin, @arashasadabadi, @yueshuaing, @i-am-sijia
The text was updated successfully, but these errors were encountered: