A system comprising: two or more defined physical locations from which golf balls are hit into a three dimensional physical space; one or more golf ball sensors arranged with respect to the three dimensional physical space to detect the golf balls in flight after the golf balls are hit into the three dimensional physical space from the two or more defined physical locations; and one or more computers communicatively coupled with the one or more golf ball sensors, the one or more computers comprising at least one hardware processor and at least one memory device coupled with the at least one hardware processor, the at least one memory device encoding instructions configured to cause the at least one hardware processor to perform operations comprising determining a three dimensional trajectory for a golf ball in the three dimensional physical space based on initial observations of the golf ball by the one or more golf ball sensors, extrapolating the three dimensional trajectory of the golf ball backward in time to generate an extrapolated trajectory, calculating one or more distance measures between the extrapolated trajectory and the two or more defined physical locations, estimating a systemic error for at least one of the initial observations of the golf ball by the one or more golf ball sensors, wherein the systemic error affects observed ball positions, estimating a stochastic error associated with the at least one of the initial observations of the golf ball by the one or more golf ball sensors, wherein the stochastic error affects an angle of a trajectory determined from the observed ball positions, combining the estimated systemic error and the estimated stochastic error to form one or more error measures for the one or more distance measures, identifying one of the two or more defined physical locations as an origin for the golf ball when the one or more error measures satisfy a predefined criteria, and waiting for additional observations of the golf ball by the one or more golf ball sensors when the one or more error measures do not satisfy the predefined criteria. two or more defined physical locations from which golf balls are hit into a three dimensional physical space; one or more golf ball sensors arranged with respect to the three dimensional physical space to detect the golf balls in flight after the golf balls are hit into the three dimensional physical space from the two or more defined physical locations; and one or more computers communicatively coupled with the one or more golf ball sensors, the one or more computers comprising at least one hardware processor and at least one memory device coupled with the at least one hardware processor, the at least one memory device encoding instructions configured to cause the at least one hardware processor to perform operations comprising determining a three dimensional trajectory for a golf ball in the three dimensional physical space based on initial observations of the golf ball by the one or more golf ball sensors, extrapolating the three dimensional trajectory of the golf ball backward in time to generate an extrapolated trajectory, calculating one or more distance measures between the extrapolated trajectory and the two or more defined physical locations, estimating a systemic error for at least one of the initial observations of the golf ball by the one or more golf ball sensors, wherein the systemic error affects observed ball positions, estimating a stochastic error associated with the at least one of the initial observations of the golf ball by the one or more golf ball sensors, wherein the stochastic error affects an angle of a trajectory determined from the observed ball positions, combining the estimated systemic error and the estimated stochastic error to form one or more error measures for the one or more distance measures, identifying one of the two or more defined physical locations as an origin for the golf ball when the one or more error measures satisfy a predefined criteria, and waiting for additional observations of the golf ball by the one or more golf ball sensors when the one or more error measures do not satisfy the predefined criteria. determining a three dimensional trajectory for a golf ball in the three dimensional physical space based on initial observations of the golf ball by the one or more golf ball sensors, extrapolating the three dimensional trajectory of the golf ball backward in time to generate an extrapolated trajectory, calculating one or more distance measures between the extrapolated trajectory and the two or more defined physical locations, estimating a systemic error for at least one of the initial observations of the golf ball by the one or more golf ball sensors, wherein the systemic error affects observed ball positions, estimating a stochastic error associated with the at least one of the initial observations of the golf ball by the one or more golf ball sensors, wherein the stochastic error affects an angle of a trajectory determined from the observed ball positions, combining the estimated systemic error and the estimated stochastic error to form one or more error measures for the one or more distance measures, identifying one of the two or more defined physical locations as an origin for the golf ball when the one or more error measures satisfy a predefined criteria, and waiting for additional observations of the golf ball by the one or more golf ball sensors when the one or more error measures do not satisfy the predefined criteria.