A method comprising: receiving, by a processor, a plurality of mobile device data points comprising data indicating positions of vehicles having travelled on a roadway of a geographic area and data indicating a heading direction of said vehicles, the roadway involving a convergence or divergence of a plurality of road branches (322,324) for the roadway; connecting, by the processor, subsets of the plurality of mobile device data points with trajectory lines, each of the subsets associated with a particular vehicle, wherein the trajectory lines connect adjacent mobile device data points determined by a sequence in which the individual mobile device data points of subsets were acquired; determining, by the processor, at least two trajectory angles for a particular mobile device data point of the plurality of mobile device data points using the heading direction of the particular vehicle, a first trajectory line connecting the particular mobile device data point to an adjacent, subsequent, mobile device data point and a second trajectory line connecting the particular mobile device data point to an additional adjacent, previous, mobile device data point, wherein the particular mobile device data point is positioned between the adjacent mobile device data point and the additional adjacent mobile data point, wherein a first of the at least two trajectory angles is between the heading direction and the first trajectory line and a second of the at least two trajectory angles is between the heading direction and the second trajectory line; and assigning, by the processor, the particular mobile device data point to a particular road branch of the plurality of road branches based on the determined at least two trajectory angles. receiving, by a processor, a plurality of mobile device data points comprising data indicating positions of vehicles having travelled on a roadway of a geographic area and data indicating a heading direction of said vehicles, the roadway involving a convergence or divergence of a plurality of road branches (322,324) for the roadway; connecting, by the processor, subsets of the plurality of mobile device data points with trajectory lines, each of the subsets associated with a particular vehicle, wherein the trajectory lines connect adjacent mobile device data points determined by a sequence in which the individual mobile device data points of subsets were acquired; determining, by the processor, at least two trajectory angles for a particular mobile device data point of the plurality of mobile device data points using the heading direction of the particular vehicle, a first trajectory line connecting the particular mobile device data point to an adjacent, subsequent, mobile device data point and a second trajectory line connecting the particular mobile device data point to an additional adjacent, previous, mobile device data point, wherein the particular mobile device data point is positioned between the adjacent mobile device data point and the additional adjacent mobile data point, wherein a first of the at least two trajectory angles is between the heading direction and the first trajectory line and a second of the at least two trajectory angles is between the heading direction and the second trajectory line; and assigning, by the processor, the particular mobile device data point to a particular road branch of the plurality of road branches based on the determined at least two trajectory angles.