9

I am new to PostGIS, Spatial Reference Systems and projections and want to store lat/lng coordinates retrieved from Google Maps and Openstreetmap and its services like the Geocoder/Nominatim. I'm working with data in America and the main calculations are for nearest neighbors. Results will be plotted back on a web map (eg: via Google maps API or leaflet)

Question: What spatial reference system is Google map using? I figured out so far that its the WGS 84 datum with the Mercator projection in the geographic coordinate system. Should I store the location data as it is, or transform to US National Atlas Equal Area EPSG:2163?

Since I will be calculating distances and finding nearest neighbors, if I guess correctly that doing nearest neighbor search requires transforming the entire table to EPSG:2163, then will the solution be to store the data in both Mercator and EPGS:2163?

Nyxynyx
  • 1,687
  • 4
  • 23
  • 35

2 Answers2

9

Google uses epsg:3857 crs, sometimes known as epsg:900913. I think your strategy for storing coordinates in both systems is okay, however, you could also store the in epsg 4326 with a geography data type, this would give you precise measurements with latlng coordinates (thats the reason behind geography data type compared to geometry data type)

U2ros
  • 5,117
  • 5
  • 29
  • 51
7

While the Google map is displayed in Web Mercator (EPSG:3857), when you want to plot things on it, you would use geographical coordinates (and google will automatically convert that to display correctly on their web mercator maps). https://developers.google.com/maps/documentation/javascript/reference#LatLng

Thus, I'd recommend storing them in EPSG:4326 (and not in web mercator).

Whether or not you should also store them in EPSG:2163 depends on how you are doing your nearest neighbor calculations.

Bjorn Svensson
  • 3,542
  • 19
  • 37
  • 8
    Am I right to say that the Lat/Lng coordinates that we use when interacting with Google Maps API is in EPSG:4326 (unprojected), and Google maps projects them to EPSG:3857 to plot on the map (which is using the web mercator projection) – Nyxynyx Apr 02 '13 at 03:42
  • 5
    Yes, that is right. – Bjorn Svensson Apr 02 '13 at 11:35
  • I tried to to exactly that (Generate a shape in QGIS using 4326 and then let the JS API draw it, but it looks stretched? Do I need to pass the CRS somehow to google maps API? – Dave Feb 17 '16 at 17:42