[ka-Map-users] Problems with KaMap tile.php, with MapServer 5.6

Joe Franklin traderboy at yahoo.com
Thu Jun 10 08:17:23 EST 2010


I noticed that as well - you have to modify tile.php, as well as kaMap.js for MapServer 5.6+ by adding the value for the number of inches per nautical mile.  Otherwise it fails for any map that uses decimal degrees.
 
Change:
var inchesPerUnit = new Array(1, 12, 63360.0, 39.3701, 39370.1, 4374754);
To:
var inchesPerUnit = new Array(1, 12, 63360.0, 39.3701, 39370.1, 72913.3858, 4374754);


--- On Wed, 6/9/10, Jeff Dege <jeff.dege at korterra.com> wrote:


From: Jeff Dege <jeff.dege at korterra.com>
Subject: [ka-Map-users] Problems with KaMap tile.php, with MapServer 5.6
To: "ka-map-users at lists.maptools.org" <ka-map-users at lists.maptools.org>
Date: Wednesday, June 9, 2010, 4:21 PM








We've been running a few map servers on Windows, using KaMap to deliver tiles, for a couple of years.  I'm trying to move one of them onto a new Ubuntu box, and I'm having problems.
 
My problem is when I try to access a tile from a browser, passing args directly to tile.php in the URL:
 
    http://10.0.0.59/testmap/tile.php?map=testmap&g=all&i=gif&t=-11200&l--29000&s-1000000
 
The browser is finding tile.php without problems, but Apache is returning "HTTP 500 Internal Server Error".
 
Looking in the apache logs, I see:
 
[Wed Jun 09 14:02:42 2010] [error] [client 127.0.0.1] 
PHP Notice:  Undefined offset: 6 in /var/www/testmap/htdocs/tile.php on line 229
 
[Wed Jun 09 14:02:42 2010] [error] [client 127.0.0.1] 
PHP Warning:  Division by zero in /var/www/ testmap /htdocs/tile.php on line 229
 
So I look at my tile.php.   Lines 228 and 229 are:
 
        $inchesPerUnit = array(1, 12, 63360.0, 39.3701, 39370.1, 4374754);
        $geoWidth = $scale/($oMap->resolution*$inchesPerUnit[$oMap->units]);
 
It looks like "$oMap->units" has the value "6", which is not a valid index into $inchesPerUnit, so we get the errors, above.
 
The mapfile contains "UNITS DD"
 
My first thought was that since I'd installed a more recent version of mapserver on the unix box than had been running on the windows box, maybe php_mapscript.so's ms_newMapObj() function is returning a different set of values in units.  But I downloaded the most recent version of tile.php, and in it the $inchesPerUnit array has the same values.
 
OTOH, a glance at the mapserver 5.6.3 source reveals:
 
   enum MS_UNITS {MS_INCHES, MS_FEET, MS_MILES, MS_METERS, MS_KILOMETERS, MS_NAUTICALMILES, 
      MS_DD, MS_PIXELS, MS_PERCENTAGES};
 
Which gives MS_DD the value of 6.
 
So, am I correct in my understanding that the version of tile.php I am using will not work with mapserver 5.6 without modifications?
 
I downloaded kamap from http://ka-map.maptools.org/index.phtml?page=downloads.html.  The tile.php in it is v 1.41.  (The one I was using on the Windows box was v 1.1).
 
Is there a more recent version of KaMap, than the one I downloaded from maptools.org?
 
Is there any version of KaMap that has kept up-to-date with current developments in mapserv?
 
-----Inline Attachment Follows-----


_______________________________________________
ka-Map-users mailing list
ka-Map-users at lists.maptools.org
http://lists.maptools.org/mailman/listinfo/ka-map-users



      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.maptools.org/pipermail/ka-map-users/attachments/20100610/b9c9a955/attachment.htm 


More information about the ka-Map-users mailing list