1. A method comprising: determining, by one or more processors of a computing device, a rotation between a client device coordinate frame defined with respect to a client device and a world coordinate frame defined with respect to a world; determining, by the one or more processors, a rotation between an average gravity aligned (AGA) coordinate frame defined with respect to an average gravity measurement of the client device and the client device coordinate frame; performing, by the one or more processors, step detection associated with the client device; determining, by the one or more processors, a change in orientation associated with the client device from a first detected step to a second detected step, wherein computing the change in orientation includes: determining a rotation between a horizontally projected AGA (HPAGA) coordinate frame that corresponds to the AGA coordinate frame when a vertically oriented Z-axis of the AGA coordinate frame is aligned with a vertically oriented Z-axis of the world coordinate frame and the AGA coordinate frame, wherein a horizontally oriented X-axis of the HPAGA coordinate frame represents an orientation associated with the device; determining a rotation between the world coordinate frame and the HPAGA coordinate frame, wherein determining the rotation between the world coordinate frame and the HPAGA coordinate frame uses the rotation between the client device coordinate frame and the world coordinate frame, the rotation between the AGA coordinate frame and the client device coordinate frame, and the rotation between the HPAGA coordinate frame and the AGA coordinate frame; and determining the change in orientation associated with the client device from the first detected step to the second detected step by using the rotation between the world coordinate frame and the HPAGA coordinate frame; determining, by the one or more processors and using the computed change in orientation, pedestrian dead reckoning data of the client device over a time period; and determining, by the one or more processors, an output location estimate of the client device using the pedestrian dead reckoning data.