[Tilecache] Problem moving tilecache from Ubuntu 12.04 to 14.04

Brian Case rush at winkey.org
Thu Jul 9 11:50:23 PDT 2015


stephen

same as last time

http://osgeo-org.1560.x6.nabble.com/random-errors-in-tilecache-2-11-td3965019.html

this is all to do with a change someone made in rounding in 2010

ps tilecache is on github

https://github.com/OSGeo/tilecache/

brian

On Tue, 2015-07-07 at 15:21 -0400, Stephen Woodbridge wrote:
> Hi All,
> 
> I'm having a problem upgrading a system with tilecache installed on it. 
> After two days and no headway, I probably am missing some basic or I've 
> hit a real problem.
> 
> The Problem:
> 
> On the 14.04 server:
> 
> http://74.208.113.181/tilecache-2.01/tilecache.py?LAYERS=bathy_contours&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A4326&BBOX=-73.4,29.6,-71.8,31.2&WIDTH=256&HEIGHT=256
> 
> Errors out with:
> An error occurred: Current x value -73.400000 is too far from tile 
> corner x -75.000000
> 
> but with the same url on the 12.04 server I get an image:
> 
> http://74.208.78.238/tilecache-2.01/tilecache.py?LAYERS=bathy_contours&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A4326&BBOX=-73.4,29.6,-71.8,31.2&WIDTH=256&HEIGHT=256
> 
> some tiles are returned correctly and some are not. Here is one that works:
> 
> http://74.208.113.181/tilecache-2.01/tilecache.py?LAYERS=bathy_model&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A4326&BBOX=-76.6,36,-75,37.6&WIDTH=256&HEIGHT=256
> 
> http://74.208.78.238/tilecache-2.01/tilecache.py?LAYERS=bathy_model&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A4326&BBOX=-76.6,36,-75,37.6&WIDTH=256&HEIGHT=256
> 
> Situation:
> 
> Ubuntu 12.04 LTS server running:
> tilecache/precise uptodate 2.11-2
> apache2/precise-security 2.2.22-1ubuntu1.8
> python/precise-updates uptodate 2.7.3-0ubuntu2.2
> 
> and in the apache sites-enabled:
>          Alias /tilecache-2.01 /var/lib/python-support/python2.7/
>          <Directory /var/lib/python-support/python2.7/>
>                  SetHandler python-program
>                  PythonHandler TileCache.Service
>                  PythonOption TileCacheConfig /etc/tilecache.cfg
>          </Directory>
> 
> 
> I setup a new server and rsync the tilecache, the /etc/tilecache.cfg and 
> set it up using:
> tilecache:all/trusty 2.11-2 uptodate
> apache2:amd64/trusty-security 2.4.7-1ubuntu4.4 uptodate
> python:amd64/trusty 2.7.5-5ubuntu3 uptodate
> python2.7:amd64/trusty-security 2.7.6-8ubuntu0.2 uptodate
> python3:amd64/trusty 3.4.0-0ubuntu2 uptodate
> python3.4:amd64/trusty-security 3.4.0-2ubuntu1.1 uptodate
> 
> # python --version
> Python 2.7.6
> 
> and in the apache sites-enabled:
>          Alias /tilecache-2.01 /var/lib/python-support/python2.7/
>          <Directory /var/lib/python-support/python2.7/>
>                  #SetHandler python-program
>                  AddHandler python-program .py
>                  PythonHandler TileCache.Service
>                  PythonOption TileCacheConfig /etc/tilecache.cfg
>                  Require all granted
>          </Directory>
> 
> The cache should be fully populated so there should be not need to hit 
> mapserver but I occasionally get mapserver processes running at 100% for 
> long periods of time, probably because the cache thinks it needs to 
> generate a metatile. I probably will need to check mapfiles because the 
> old server is running MapServer version 6.2.1 and the new server is on 
> MapServer version 6.4.1
> 
> Problem Analysis:
> 
> This is probably faulty or incomplete as it has not lead me to a solution.
> 
> 1. tilecache is configured and running
> 2. different versions of apache 2.2 vs 2.4
>     - had to make changes in handler above
>     - are there other changes like environment variables or initialization
> 3. system has both python 2.7 and 3.0 installed is something strange 
> happening because of this?
> 4. are the differences in mod_python between the two systems that might 
> cause this?
> 5. there appears to be a pattern to what tiles are ok or broken but its 
> not clear what it means. Maybe some kind of rounding issue?
> 6. I diff'd the files in /var/lib/python-support/python2.7/ tree and 
> they are all the same except a few of the pyc files. I recompiled them 
> on the new system just be be sure with python -m py_compile 
> /path/to/file.py but that did not change anything.
> 
> I looked at the Layer.py code and it is failing in getCell() at:
> 
>          if exact:
>              if (abs(minx - tilex)  / res > 1):
>                  raise TileCacheException("Current x value %f is too far 
> from tile corner x %f" % (minx, tilex))
> 
> because abs(minx - tilex) / res = 256 which seems curious as this is the 
> size of a tile. So I'm thinking that this code might be behaving badly:
> 
>      def getResolution (self, (minx, miny, maxx, maxy)):
>          """
>          >>> l = Layer("name")
>          >>> l.getResolution((-180,-90,0,90))
>          0.703125
>          """
>          return max( float(maxx - minx) / self.size[0],
>                      float(maxy - miny) / self.size[1] )
> 
> I'm getting res=0.00625 for the broken request.
> 
> So the bottom line, I'm totally lost in this issue and probably looking 
> in all the wrong places.
> 
> -Steve
> _______________________________________________
> Tilecache mailing list
> Tilecache at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/tilecache




More information about the Tilecache mailing list