[Fixed]-GeoDjango, what SRID to use for PointField interfacing with Google Maps V3 API?


You should use 4326 (which means latitude and longitude, using the WGS84 datum and spheroid to model the globe’s shape) to add points to Google Maps. Devices, such as GPS, which record your position on the globe, will save data in 4326, which will then be projected internally within Google Maps to 3857 (which is in meters). If you look at the example for loading GeoJSON you will see that the points are in 4326.

900913 (which is just GOOGLE in calculator writing) has caused a lot of confusion and arose out of the fact that initially the EPSG was very sniffy about what they regard as an inaccurate projection, mostly because it assumes the world to be a sphere. It became popular anyway because of Google’s global prominence and for its mathematical tractability. Subsequently, the EPSG gave it a new official designation of 3857 (well technically there was another one too, 3587, just to cause yet more confusion). So, while people still talk about 900913, officially you should use 3587. 3587 is projected in meters and used to generate tiles for display in Google Maps, but should not be used to add point sources to it, where you definitely want to use 4326.

There is a good article here if you want to know any more about the history of this: http://alastaira.wordpress.com/2011/01/23/the-google-maps-bing-maps-spherical-mercator-projection/

Leave a comment