1. A method implemented in one or more computing devices for correcting pose data stored on a computer-readable medium, wherein the pose data includes a plurality of pose samples, wherein each pose sample indicates at least a reported location of a device at a respective time, and wherein the plurality of pose samples describes a trajectory of the device, the method comprising: receiving pose modification data for a first set of one or more of the plurality of pose samples, wherein the pose modification data includes a respective modification by a user of the location of the device for each pose sample in the first set of pose samples; and automatically modifying each pose sample in a second set of one or more of the plurality of pose samples in view of the received pose modification data, wherein the second set of pose samples includes at least one pose sample not included in the first set of pose samples, including: applying one or more user modification constraints, wherein each of the one or more user modification constraints seeks to preserve the modification of the location of the device for a respective pose sample in the first set of pose samples, applying one or more location constraints, wherein each of the one or more location constraints seeks to preserve the reported location of the device for a respective pose sample in the second set, and generating modified pose data in view of the one or more user modification constraints and the one or more location constraints.