To determine an object's location, the GPS system must receive a radio signal from at least three satellites.
GPS accuracy is affected by a number
of factors, including satellite
positions, noise in the radio signal,
atmospheric conditions, and natural
barriers to the signal. Noise can
create an error between 1 to 10 meters
and results from static or
interference from something near the
receiver or something on the same
frequency. Clouds and other
atmospheric phenomena, and objects
such a mountains or buildings between
the satellite and the receiver can
also produce error, sometimes up to 30
meters.
From here:
Multipath and masking effects of urban
canyons degrade the accuracy of GPS
ranging and increase geometric
dilution of precision in receivers
that operate in dense urban areas. In
the case of GPS applications designed
for vehicles, the effects of these
phenomena on accuracy can be reduced,
thanks to the velocity of the user
that contributes in averaging
multipath and thanks to the use of map
matching. But pedestrians do not
benefit from the same circumstances,
and GPS-based positioning for
pedestrians in dense urban areas
suffers from inadequate accuracy and
integrity. Tests performed in downtown
urban areas over a variety of mass
market terminals with integrated GPS
receivers show 95 percent circular
error probable (CEP) performances
between 50 and 100 meters.
Wiki article: Global Positioning System