Urban-Analytics-Technology-Platform / acbm

activity-based modelling pipeline (for transport demand models)
https://hackmd.io/w-m_OKaDT3GGBfSqFPpBjA
Apache License 2.0
4 stars 1 forks source link

Improve intrazone travel time estimates #30

Closed Hussein-Mahfouz closed 1 month ago

Hussein-Mahfouz commented 1 month ago

Our travel time matrix has time = 0 for trips that start and end in the same zone. This can be an issue for short trips. For example, if the NTS reports a short walking trip (5 minutes) to school, our function looks for all zones that can be reached within 5 minutes +- tolerance (% of reported time). The tolerance will never bring down the never bring down the search buffer to include time = 0, so a trip can either:

a) be assigned to a neighboring zone that is reachable within 5 minutes += tolerance b) if no zones are reachable within reported time, we get the zone with the closest time (see here). If we reach this condition, trips could be assigned to the origin zone (time = 0)

I'm worried that many trips are being assigned to neighboring zones through (a) even though they could be intrazone trips. I suggest replacing time = 0 for intrazone trips with a travel time that is proportional to the area of the zone.

Hussein-Mahfouz commented 1 month ago

The intra-zone travel times should not be higher than time to reach any other zone. For any zone O

  1. Calculate intrazone travel time based on area of zone O
  2. Get smallest travel time from zone O to all other destinations
  3. Intrazone travel time = min(1, 2)
Hussein-Mahfouz commented 1 month ago

In commit referenced above I've calculated intrazonal travel time based on zone area. See definition of intrazone_time() in that commit. This can be improved by: