How does Geo-Location in GAT Shield works
The location is given to the browser by Google, who use a variety of methods to determine the location. These are based on the wifi hot-points the device sees.
Google has learned these from mobile devices that have geolocation enabled and are seeing wifi hotspots or from the Google mapping cars that drive around hovering up wifi hotspots and matching them to GPS data in the car.
This information is often less accurate and often downright incorrect depending on the ISP and their motive for publishing that data, however in the absence of other data it is the best that can be got (and in most cases, it is pretty ok) so we use this method.