Jan, Thanks a lot for your responses!
I still have no success getting the right tile with mapscript or even mapserv. I implemented a code that Ei Fujioka sent me and this is the result: I guess I've nailed down the problem to this: **** .map with no PROJECTION and latlon coordinates: http://127.0.0.1/cgi-bin/mapserv?map=/mapear/map/mapNoProjection.map&mode=map&mapext=-64.171142578125+-31.419288124288343+-64.1656494140625+-31.41460027631321 This gives me an image with some data printed -> OK **** .map with PROJECTION and latlon coordinates: http://127.0.0.1/cgi-bin/mapserv?map=/mapear/map/mapProjection.map&mode=map&mapext=-64.171142578125+-31.419288124288343+-64.1656494140625+-31.41460027631321 This gives me an image with NO data printed -> WRONG Only difference between mapNoProjection.map and mapProjection.map is that the second one has: CONFIG PROJ_LIB '/usr/local/share/proj/' PROJECTION "init=esri:54004" END Now, using the code to convert coordinates to mercator meters, I got -64.171142578125+-31.419288124288343+-64.1656494140625+-31.41460027631321 equal to: -7143498.91542,-3665050.56612,-7142887.41919,-3664442.05663 But if I request **** .map with PROJECTION and mercator meters coordinates: http://127.0.0.1/cgi-bin/mapserv?map=/mapear/map/mapProjection.map&mode=map&mapext=-7143498.91542+-3665050.56612+-7142887.41919+-3664442.05663 This gives me an image with NO data printed -> WRONG Any ideas?? Jose Jan Hartmann wrote: > > With Mapscript it's easy: > > function ll2merc($lon,$lat) { > $projIn = ms_newprojectionobj("proj=latlong"); > $projOut = ms_newprojectionobj("proj=merc"); > $p = ms_newpointobj(); > $p->setXY($lon,$lat); > $p->project($projIn, $projOut); > return($p); > } > > If you don't use Mapscript, you have to do the computations in > Javascript. There is a project to implement the Proj package in > Javascript: > > http://lists.maptools.org/pipermail/proj/2006-February/002125.html > > but I have never worked with it > > Jan > > Jose Olcese wrote: >> Hi Jan, >> >> I really appreciate your help!. It seems that it might be the problem!. >> I'll try sending Mercator Coordinates in meters as the mapexp parameter >> of mapserv. >> >> Do you have the algorithm for converting it? >> >> Thanks again >> Jose >> >> >> >> >> On 6/4/07, *Jan Hartmann* < [EMAIL PROTECTED] >> <mailto:[EMAIL PROTECTED]>> wrote: >> >> 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= >> >> <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); >> > } >> > ... >> > >> > >> > >> >> > > -- View this message in context: http://www.nabble.com/Google-maps---Mapserver-projection-issue-tf3852632.html#a10974827 Sent from the Mapserver - User mailing list archive at Nabble.com.
