1. A method implemented at least partially by a processor, the method comprising: receiving global position system (GPS) logs associated with respective user devices, each of the GPS logs including trajectories connecting a set of geographical locations previously visited by a user of a respective user device; receiving a request for a trajectory connecting a set of geographical locations of interest specified by the user; calculating a proximal similarity between (1) the set of geographical locations of interest specified by the user, and (2) respective sets of geographical locations from the GPS logs; and constructing the requested trajectory with use of at least one of the trajectories from the GPS logs determined at least in part according to the calculated proximal similarities.