Impedance interaction potential
network-functions Impedance interaction potential
interaction potential
In order to get tij and Mij, the calculated interaction potential and trip flow per od-pair, one can recalculate them from the results available from od:impedance,OrgZone_rel,DstZone_rel
- When no alternative link impedance is given, define it as an extra sub-item of the resulting od-pair unit:
attribute<float32> t_ij := impedance >= 1e+38f ? 0f : distDecay == 0f ? 1f : impedance^-distDecay;
Note that tij >=max_dist only for od-pairs without available route, which only appears in results when no filtering option was used. If filtering was used and it is known that distDecay is non-zero, the above can be simplified to
attribute<float32> t_ij := impedance^-distDecay;
- When alternative(link_imp):alt_imp is used, use:
attribute<float32> t_ij := !IsDefined(alt_imp) ? 0f : distDecay == 0f ? 1f : alt_imp^-distDecay;
When OrgZone_min or DstZone_min were specified, replace the last impedance measure (impedance or alt_imp) by
- max_elem(impedance, min_imp[OrgZone_rel]) when min_imp is given per origin zone,
- max_elem(impedance, min_imp[DstZone_rel]) when min_imp is given per destination zone, or just
- max_elem(impedance, min_imp) when it is a single value parameter, applied for all od-pairs.
The Mij can then be calculated with
attribute<float32> M_ij := D_i[OrgZone_rel] <= 0f ? 0f : t_ij * D_i[OrgZone_rel]^(demand_alpha - 1.0f);
if the demand for each zone i is assumed to be inelastic, i.e. demand_alpha == 0f, this can be simplified to
attribute<float32> M_ij := D_i[OrgZone_rel] <= 0f ? 0f : t_ij * (1f / D_i)[OrgZone_rel];