Google maps & Mapserver projection issue
Jan Hartmann
j.l.h.hartmann at UVA.NL
Mon Jun 4 03:38:22 PDT 2007
Hi Jose
Epsg 54004 is the classic Mercator projection. The units it uses are not
degrees but meters (only at the equator these are real meters). Using
proj I get the following boundary values (note that -180W/-90S and
180E/90N cannot be represented in a Mercator projection):
proj +init=epsg:54004
-170 -80
-18924313.43 -15496570.74
170 80
18924313.43 15496570.74
Hope this helps,
Jan
Dr. J. Hartmann
Department of Geography
University of Amsterdam
joseolcese wrote:
> Hi
>
> I'm trying to use Google maps & Mapserver with partial success...
> I have a .shp configured in mapserver and I can get a transparent tile from
> an html page where it load google satellite view and my tiles.
> The problem is that I wasn't using any projection on my .map so every tile
> was a little distorted.
> I added the epsg:54004 project to the .map but now the tiles are empty.
>
> Do you have any idea why this my be happening?
>
> Thanks
> Jose Olcese
>
> .map:
> IMAGETYPE PNG
> EXTENT -64.20 -31.41 -64.19 -31.40
> SIZE 256 256
> SHAPEPATH '/ms4w/apps/tutorial/data_jose'
> FONTSET '/ms4w/apps/tutorial/fonts/fonts.list'
> TRANSPARENT ON
> CONFIG PROJ_LIB '/var/www/html/share/proj/'
> PROJECTION
> "init=esri:54004"
> END
> LAYER
> ...
> ...
>
>
> .html:
> ...
> ...
> tileCountry.getTileUrl=function(xy,zoom)
> {
> var lng = (-180+((xy.x+0.5)*(360/Math.pow(2,zoom)))); // -180
> +180
>
> var merclat_extent = 360/Math.pow(2,zoom);
> var l = 180 - ((xy.y+0.5) * merclat_extent);
> var e = Math.exp(2 * ( l * Math.PI) /180);
> e = (e - 1)/(e + 1);
> var lat = (Math.atan2(e, Math.sqrt(1 - (e * e))) *180 /
> Math.PI);
>
> return
> 'http://127.0.0.1/cgi-bin/mapserv?map=/ms4w/apps/tutorial/htdocs/map_test5.map&mode=map&mapxy='
> + lng + '+' + lat + '&buffer=' + ((360/Math.pow(2,zoom))/2);
> }
> ...
>
>
>
More information about the MapServer-users
mailing list