This paper addresses the coupled tasks of constructing a spatial representation of the environment with a mobile robot using noisy sensors (sonar) and using such a map to determine the robot's position without a prior estimate. The map is not meant to represent the actual spatial structure of the environment so much as it is meant to represent the major structural components of what the robot ``sees''. This can, in turn, be used to construct a model of the physical objects in the environment. One problem with such an approach is that maintaining an absolute coordinate system for the map is difficult without periodically calibrating the robot's position. We demonstrate that in a suitable environment it is possible to use sonar data to recalibrate position and orientation estimates on an ongoing basis. This is accomplished by incrementally constructing and updating a model-based description of the acquired data. Given coarse position estimates of the robot's location and orientation, these can be refined to high accuracy using the stored map and a set of sonar readings from a single position. This approach is then generalized to allow global position estimation, where position and orientation estimates are not available. We consider the accuracy of the method based on a single sonar reading illustrate its region of convergence using empirical data.