views:

419

answers:

2

What is Google map's spatial reference system using when you enter a lat, long into the maps search bar?

I've found hints that it might be WGS84 but after converting to that coordinate system, nothing shows up when i paste the coordinates into the google maps search box.

I am converting from GDA MGA 56.

Sample:

  • Input MGA56 coords: 336301, 6253363
  • Expected WGS86 coords: -33.8473340793201, 151.230631835944
  • I get: 16834916.928327594 -4008321.1020318186

Spatial coord systems:

  • EPSG:28356 for MGA56
  • EPSG:900913 for WGS86 (google maps)

I am using geotools to do the transform:

    CoordinateReferenceSystem crsMga56 = CRS.parseWKT(mga56);
    CoordinateReferenceSystem crsGmaps = CRS.parseWKT(gmaps);

    Coordinate coordinate = new Coordinate(336301, 6253363);
    Point point = new GeometryFactory().createPoint(coordinate);

    MathTransform transform = CRS.findMathTransform(crsMga56, crsGmaps);
    Geometry geometry = JTS.transform(point, transform);

I know the transform is not correct, as when i use an online tool it gives me the correct coords. http://www.environment.gov.au/cgi-bin/transform/mga2geo%5Fgda.pl?east=336301&north=6253363&zone=56

+1  A: 

Thanks for adding that detail. WGS84 coordinates correspond to latitude and longitude, so the values you got don't make sense at all. Latitude ranges from -90 to 90 and longitude ranges from -180 to 180. -33,151 is somewhere in Australia so that sounds right.

At this point I would guess that your use of geotools is incorrect, since it's giving a result that is outside the valid range of geographic coordinates. Did you copy that code from an example or other reference source?

Greg Hewgill
No i did not copy it from anywhere, i read the geotools wiki and made it. Must be something i'm doing then. Hmmm.
JavaRocky
+1  A: 

Google uses a spherical mercator projection based on WGS84. There's a writeup on the OpenLayers website.

Sarge