Hi Jose,
I think mapext must have two negative and two postive values (you
specify four negative values):
mapext=-7143498.91542+-3665050.56612+7142887.41919+3664442.05663
Does this work?
Jan
joseolcese wrote:
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);
> }
> ...
>
>
>