[Proj] Problem overlaying georeferenced images in Google, Maps(projection problem!)

Jorge jorge.arevalo at gmail.com
Thu May 29 14:09:55 EDT 2008


Eric Miller wrote:
>/ Yes, Google maps uses a spherical model rather than ellipsoidal (hence, +a == +b in the destination coordinate system).  
So, it's not really WGS84.  However, my understanding is that GMaps projection assumes there isn't any difference.  
So, source coordinates should be converted to Geodetic on the WGS84 ellipsoid/datum and then projected onto the Google Mercator 
"WGS84" sphere ignoring the fact that the models are really different.  So, the +towgs84 parameter on the destination should 
probably be defined as +towgs84=0,0,0.
/
Folks,

I haven't followed this issue closely, but please be sure you are aware of:

 
http://trac.osgeo.org/proj/wiki/FAQ#ChangingEllipsoidWhycantIconvertfromWGS84toVirtualEarthMercator

Best regards
----

I'm aware of this problem. In fact, I've added a new EPSG code (3785) to the epsg file in order to use +init=epsg:3785 with these 
parameters. Thanks for the advice!

Now, I've tried to reproject a image using +towgs=-84,-107,-120,0,0,0,0 (to my Country) in the source image (UTM ED50) and +towgs84=0,0,0,0,0,0,0 
in the target image (Google Maps), but I have the same reprojected image than when I wasn't using +towgs84 option :(. This is what
I've done:

gdalwarp 
	-s_srs "+init=epsg:23031 +towgs84=-84,-107,-120,0,0,0,0" 
	-t_srs "+init=epsg:3785 +towgs84=0,0,0,0,0,0,0" 
	-co INTERLEAVE=PIXEL 
	<input> <output>

And I have the same result that doing:

gdalwarp 
	-s_srs "+init=epsg:23031" 
	-t_srs "+init=epsg:3785" 
	-co INTERLEAVE=PIXEL 
	<input> <output>

And "epsg:3785" in epsg file is defined as:

# Spherical/Web Mercator
<3785> +proj=merc +lat_ts=0.0 +lon_0=0.0 +k=1.0 +x_0=0.0 +y_0=0.0 +a=6378137.0 +b=6378137.0 +units=m +nadgrids=@null +no_defs <>

Any mistakes?

So, what does exactly mean the parameters of the +towgs84 option (/delta_x/, /delta_y/, /delta_z/, /Rx - rotation X/, /Ry - rotation Y/, 
/Rz - rotation Z/, /M_BF - Scaling)/? I think that:

(delta_x, delta_y, delta_z) = translation vector, to be added to each point of the data
(Rx, Ry, Rz) = rotation vector, to be applied to each point of the data
M_BF = the scale correction

OK. But why "Rx - rotation X", or "M_BF - scaling"?, what does "rotation X" or "scaling" mean? Maybe I'm making a mistake with
the calcs...

Thanks again!
/
/



More information about the Proj mailing list