[MapProxy] Merging multiple TMS layers

Ami Rahav arahav at usgs.gov
Wed Feb 9 14:43:05 EST 2011


Hi Oliver,

I've installed directly from trunk.
The two layers I'm trying to merge are PNG 32, the request fails with the 
following errors:
Are MapProxy or PIL  limited to merging 8 bit PNG? Is there a workaround?

Thanks!

Ami,

Traceback (most recent call last):
  File 
"C:\Python26\lib\site-packages\mapproxy-1.0.0.dev_20110209-py2.6.egg\mapproxy\wsgiapp.py", 
line 146, 
  in __call__resp = self.handlers[handler_name].handle(req)
  File 
"C:\Python26\lib\site-packages\mapproxy-1.0.0.dev_20110209-py2.6.egg\mapproxy\service\base.py", 
line 31, 
  in handle return handler(parsed_req)
  File 
"C:\Python26\lib\site-packages\mapproxy-1.0.0.dev_20110209-py2.6.egg\mapproxy\service\wms.py", 
line 113, 
  in map renderer.render(merger)
  File 
"C:\Python26\lib\site-packages\mapproxy-1.0.0.dev_20110209-py2.6.egg\mapproxy\service\wms.py", 
line 359,
  in render layer_merger)
  File 
"C:\Python26\lib\site-packages\mapproxy-1.0.0.dev_20110209-py2.6.egg\mapproxy\util\async.py", 
line 205,
 in _single_call result = func(*args)
  File 
"C:\Python26\lib\site-packages\mapproxy-1.0.0.dev_20110209-py2.6.egg\mapproxy\service\wms.py", 
line 399,
  in _render_layer layer_img = layer.get_map(self.query)
  File 
"C:\Python26\lib\site-packages\mapproxy-1.0.0.dev_20110209-py2.6.egg\mapproxy\layer.py", 
line 269,
 in get_map tiled_image = self._tiled_image(query)
  File 
"C:\Python26\lib\site-packages\mapproxy-1.0.0.dev_20110209-py2.6.egg\mapproxy\layer.py", 
line 303,
 in _tiled_image tile_collection = 
self.tile_manager.load_tile_coords(affected_tile_coords)
  File 
"C:\Python26\lib\site-packages\mapproxy-1.0.0.dev_20110209-py2.6.egg\mapproxy\cache\tile.py", 
line 88, 
  in load_tile_coords created_tiles = creator.create_tiles(uncached_tiles)
  File 
"C:\Python26\lib\site-packages\mapproxy-1.0.0.dev_20110209-py2.6.egg\mapproxy\cache\tile.py", 
line 161,
  in create_tiles created_tiles = self._create_single_tiles(tiles)
  File 
"C:\Python26\lib\site-packages\mapproxy-1.0.0.dev_20110209-py2.6.egg\mapproxy\cache\tile.py", 
line 181,
  in _create_single_tiles return 
self._create_threaded(self._create_single_tile, tiles)
  File 
"C:\Python26\lib\site-packages\mapproxy-1.0.0.dev_20110209-py2.6.egg\mapproxy\cache\tile.py", 
line 191,
  in _create_threaded for new_tiles in async_pool.imap(create_func, 
tiles):
  File 
"C:\Python26\lib\site-packages\mapproxy-1.0.0.dev_20110209-py2.6.egg\mapproxy\util\async.py", 
line 54,
  in _result_iter for result in results:
  File 
"C:\Python26\lib\site-packages\mapproxy-1.0.0.dev_20110209-py2.6.egg\mapproxy\util\async.py", 
line 192,
  in map_each for value in self._get_results(next_result, results, 
raise_exceptions):
  File 
"C:\Python26\lib\site-packages\mapproxy-1.0.0.dev_20110209-py2.6.egg\mapproxy\util\async.py", 
line 237,
  in _get_results for i, value in self._fetch_results(raise_exceptions):
  File 
"C:\Python26\lib\site-packages\mapproxy-1.0.0.dev_20110209-py2.6.egg\mapproxy\util\async.py", 
line 144,
  in run result = func(*args)
  File 
"C:\Python26\lib\site-packages\mapproxy-1.0.0.dev_20110209-py2.6.egg\mapproxy\cache\tile.py", 
line 201,
  in _create_single_tile source = self._query_sources(query)
  File 
"C:\Python26\lib\site-packages\mapproxy-1.0.0.dev_20110209-py2.6.egg\mapproxy\cache\tile.py", 
line 234,
  in _query_sources return merge_images(imgs)
  File 
"C:\Python26\lib\site-packages\mapproxy-1.0.0.dev_20110209-py2.6.egg\mapproxy\image\__init__.py",line 
101,
  in merge_images return merger.merge(format=format, size=size, 
transparent=transparent)
  File 
"C:\Python26\lib\site-packages\mapproxy-1.0.0.dev_20110209-py2.6.egg\mapproxy\image\__init__.py",line 
72,
  in merge img = Image.new('RGBA', size, bgcolor+(0,))
  File "C:\Python26\lib\site-packages\pil-1.1.7-py2.6-win32.egg\Image.py", 
line 1763, 
  in new return Image()._new(core.fill(mode, size, color))
TypeError: argument 2 must be 2-item sequence, not None




From:
Oliver Tonnhofer <olt at omniscale.de>
To:
Ami Rahav <arahav at usgs.gov>
Cc:
mapproxy at lists.osgeo.org
Date:
02/09/2011 03:01 AM
Subject:
Re: [MapProxy] Merging multiple TMS layers



Hi Ami,

On 08.02.2011, at 20:48, Ami Rahav wrote:
> Can multiple tiled layers be merged? 

It is possible, but not yet supported in the latest release.

> I can find examples for WMS layers, and have merged two WMS layers, but 
I haven't been able to do so with two tiled ArcGIS layers. 

You have to mark the tile source as transparent, but that option was added 
after the 0.9.1 release.
http://mapproxy.org/docs/nightly/sources.html#transparent

You can install directly from trunk with
pip install https://bitbucket.org/olt/mapproxy/get/default.tar.bz2

Or you can wait a bit, I want to make an alpha release for MapProxy 1.0.0 
this week.


Regards,
Oliver

-- 
Oliver Tonnhofer    | Omniscale GmbH & Co KG    | http://omniscale.de
http://mapproxy.org | https://bitbucket.org/olt





-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapproxy/attachments/20110209/92eab575/attachment.html


More information about the MapProxy mailing list