[Tilecache] Pregenerated tiles
Guillaume Sueur
guillaume.sueur at neogeo-online.net
Thu Nov 6 10:36:21 EST 2008
make sure mapserver generates non-interlaced PNGs as PIL doesn't support
interlaced ones. You can set that with :
FORMATOPTION "INTERLACE=OFF" in your OUTPUTFORMAT block
regards
Alexandre Dube a écrit :
> Hi again Guillaume,
>
> I tried to set metaSize=3,3 and the memory error no longer occurs. But (
> unfortunately ), instead I have this new error which comes after
> (around) a minute of running :
> ...
> ...
> ...
> Cache miss: 203199.891735,5390225.70122,204103.002359,5391128.81185,
> Tile: x: 15, y: 18, z: 3, time: 0.890893936157
> 03 (000015, 000018) = (203199.8917 5390225.7012 204103.0024
> 5391128.8118) [0.8912s : 1.165/s] 102/176
> Traceback (most recent call last):
> File "./tilecache_seed.py", line 9, in <module>
> TileCache.Client.main()
> File "/home/mapgears/tilecache/TileCache/Client.py", line 108, in main
> seed(svc, base, layer, map(int, sys.argv[3:5]), map(float,
> sys.argv[5].split(",")))
> File "/home/mapgears/tilecache/TileCache/Client.py", line 92, in seed
> svc.renderTile(tile)
> File "/home/mapgears/tilecache/TileCache/Service.py", line 138, in
> renderTile
> data = layer.render(tile)
> File "/home/mapgears/tilecache/TileCache/Layer.py", line 429, in render
> image = self.renderMetaTile(metatile, tile)
> File "/home/mapgears/tilecache/TileCache/Layer.py", line 403, in
> renderMetaTile
> subimage = image.crop((minx, miny, maxx, maxy))
> File
> "/home/mapgears/fgs-5.2.0/lib/python2.5/site-packages/PIL/Image.py",
> line 737, in crop
> self.load()
> File
> "/home/mapgears/fgs-5.2.0/lib/python2.5/site-packages/PIL/ImageFile.py",
> line 207, in load
> raise IOError(error + " when reading image file")
> IOError: decoding error when reading image file
>
> I asked one of my colleagues about it be he got no answer. Do you have
> any clue about this new error ?
>
> Again, many many thanks for your great help,
>
> Alexandre
>
> Alexandre Dube wrote:
>> Ok I'll try that, thanks a lot Guillaume.
>>
>> Alexandre
>>
>> Guillaume Sueur wrote:
>>
>>> ok, then it's the amount of memory used by the operation which is too
>>> high for your system. Consider decreasing the metatile size or use
>>> metatile false
>>>
>>> Guillaume
>>>
>>> Alexandre Dube a écrit :
>>>
>>>> Hi Guillaume,
>>>>
>>>> It was already set to :
>>>> MAXSIZE 4096
>>>>
>>>> Is it to ok ?
>>>>
>>>> Alexandre
>>>>
>>>> Guillaume Sueur wrote:
>>>>
>>>>> Hi Alexandre,
>>>>>
>>>>> I think your MAXSIZE is too short in your mapfile (main MAP section)
>>>>> It should allow images up to 1300 x 1300 to be drawn.
>>>>> Try to set it to 1500
>>>>>
>>>>> Regards,
>>>>>
>>>>> Guillaume
>>>>>
>>>>> Alexandre Dube a écrit :
>>>>>
>>>>>
>>>>>> Hi Guillaume,
>>>>>>
>>>>>> I get the following after around 30 seconds of running :
>>>>>> ...
>>>>>> ...
>>>>>> Cache miss: 196426.56206,5380743.03968,196878.117371,5381194.59499,
>>>>>> Tile: x: 15, y: 15, z: 4, time: 1.48284912109
>>>>>> 04 (000015, 000015) = (196426.5621 5380743.0397 196878.1174
>>>>>> 5381194.5950) [1.4831s : 4.280/s] 61/247
>>>>>> Traceback (most recent call last):
>>>>>> File "./tilecache_seed.py", line 9, in <module>
>>>>>> TileCache.Client.main()
>>>>>> File "/home/mapgears/tilecache/TileCache/Client.py", line 108, in
>>>>>> main
>>>>>> seed(svc, base, layer, map(int, sys.argv[3:5]), map(float,
>>>>>> sys.argv[5].split(",")))
>>>>>> File "/home/mapgears/tilecache/TileCache/Client.py", line 92, in
>>>>>> seed
>>>>>> svc.renderTile(tile)
>>>>>> File "/home/mapgears/tilecache/TileCache/Service.py", line 138, in
>>>>>> renderTile
>>>>>> data = layer.render(tile)
>>>>>> File "/home/mapgears/tilecache/TileCache/Layer.py", line 429, in
>>>>>> render
>>>>>> image = self.renderMetaTile(metatile, tile)
>>>>>> File "/home/mapgears/tilecache/TileCache/Layer.py", line 391, in
>>>>>> renderMetaTile
>>>>>> data = self.renderTile(metatile)
>>>>>> File "/home/mapgears/tilecache/TileCache/Layers/MapServer.py",
>>>>>> line 51,
>>>>>> in renderTile
>>>>>> mapImage = wms.draw()
>>>>>> File "/home/mapgears/fgs-5.2.0/www/lib/python2.5/mapscript.py", line
>>>>>> 1363, in draw
>>>>>> def draw(*args): return _mapscript.mapObj_draw(*args)
>>>>>> _mapscript.MapServerError: msDrawMap(): Image handling error.
>>>>>> Failed to
>>>>>> draw layer named 'mos'.
>>>>>> msDrawRasterLayerGDAL(): Memory allocation error. Allocating work
>>>>>> image
>>>>>> of size 1300x1300 failed.
>>>>>>
>>>>>> Do you know what can cause this ? I use metaTile=true with default
>>>>>> settings.
>>>>>>
>>>>>> Thanks a lot for your help,
>>>>>>
>>>>>> Alexandre
>>>>>>
>>>>>> Guillaume Sueur wrote:
>>>>>>
>>>>>>> cache miss is the normal message for non-existing tiles.
>>>>>>>
>>>>>>>
>>>>>>> Alexandre Dube a écrit :
>>>>>>>
>>>>>>>
>>>>>>>> I see,
>>>>>>>>
>>>>>>>> I've got a lot of "cache miss" message and finally a "Memory
>>>>>>>> allocation error". I'll try to find out why.
>>>>>>>>
>>>>>>>> Thanks for the tip,
>>>>>>>>
>>>>>>>> Alexandre
>>>>>>>>
>>>>>>>> Guillaume Sueur wrote:
>>>>>>>>
>>>>>>>>> that's what tilecache_seed.py does.
>>>>>>>>>
>>>>>>>>> See http://tilecache.org/readme.html#seeding-your-tilecache
>>>>>>>>>
>>>>>>>>> Guillaume
>>>>>>>>>
>>>>>>>>> Alexandre Dube a écrit :
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Hi Guillaume,
>>>>>>>>>>
>>>>>>>>>> I don't know what tileseed.py is. What I would like to do is
>>>>>>>>>> generate
>>>>>>>>>> all tiles for all resolutions of my raster layer in
>>>>>>>>>> tilecache. Is
>>>>>>>>>> there
>>>>>>>>>> a way to do this ?
>>>>>>>>>>
>>>>>>>>>> Many thanks,
>>>>>>>>>>
>>>>>>>>>> Alexandre
>>>>>>>>>>
>>>>>>>>>> Guillaume Sueur wrote:
>>>>>>>>>>
>>>>>>>>>>> you mean the tileseed.py stuff ?
>>>>>>>>>>>
>>>>>>>>>>> Alexandre Dube a écrit :
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> Hi list,
>>>>>>>>>>>>
>>>>>>>>>>>> Is there a way, using command line, to pre-generate all tiles
>>>>>>>>>>>> of a
>>>>>>>>>>>> layer in tilecache.cfg file ( with its resolutions and
>>>>>>>>>>>> extent ) ?
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>>
More information about the Tilecache
mailing list