1. A system for correcting a description of a trajectory of a device, comprising: one or more processors; a first non-transitory computer-readable medium storing thereon initial trajectory data including a sequence of samples, each sample of the received sequence indicating a respective location of the device at a corresponding time within the time period, wherein the initial trajectory data provides an initial description of an approximate trajectory of the device during a time period; and a second non-transitory computer-readable medium storing thereon instructions that, when executed on the one or more processors, cause the system to: receive correction data that indicates a set of one or more locations of the device outside the approximate trajectory within the time period, and generate modified trajectory data that provides a modified description of a corrected trajectory of the device, wherein the modified trajectory data is generated by modifying the initial description of the approximate trajectory using (i) a location constraint that limits a difference between a respective location and a location of the corrected trajectory that corresponds to the respective location and (ii) a modification constraint that limits a difference between a given location of the one or more locations indicated by the correction data and a location of the corrected trajectory that corresponds to the given location.