[MapProxy] convert TMS to WMTS

Eric Lemoine eric.lemoine at gmail.com
Wed Dec 5 03:46:14 PST 2012


On Wed, Dec 5, 2012 at 12:09 PM, Oliver Tonnhofer <olt at omniscale.de> wrote:
>
> On 05.12.2012, at 11:31, Eric Lemoine wrote:
>> I'm not able to make it work, as I don't know how to specific
>> different grids for the source and destination. It seems to me that
>> any grid specified with --grid is also used as the grid for the
>> source. An example would be greatly appreciated.
>
>
> % mapproxy-util export -f mapproxy.yaml --grid "base=GLOBAL_MERCATOR origin=nw" --source osm_cache --fetch-missing-tiles --dest /tmp/tiles --levels 0..3 --type tms
>
>
> This creates a TMS-like export with origin: nw while the cache itself is still origin: sw.

Thank you Olivier. It indeed works for osm_cache. My problem is
elsewhere. This is what I get:

$ mapproxy-util export --force --mapproxy-conf=mapproxy.yaml
--source=mnc2010_10cl_cache --grid="srs='EPSG:21781'
bbox=[420000,30000,900000,360000] bbox_srs='EPSG:21781'
res=[250,100,50,20,10,5,2.5,2,1.5,1,0.5,0.25,0.125,0.0625]
origin='nw'" --dest=essai --levels=0 --type=tc
Exporting cache 'cache' to 'essai' with custom grid in EPSG:21781
  Limited to: 5.00975, 45.35600, 11.48437, 48.38720 (EPSG:4326)
  Levels: [0]
[12:43:01]  0   0.00% 420000.00000, 30000.00000, 900000.00000,
360000.00000 (0 tiles) ETA: N/A
Process TileSeedWorker-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/home/elemoine/mapproxy_test/mapproxysrc/mapproxy/seed/seeder.py",
line 92, in run
    self.work_loop()
  File "/home/elemoine/mapproxy_test/mapproxysrc/mapproxy/seed/seeder.py",
line 104, in work_loop
    exceptions=(SourceError, IOError), ignore_exceptions=(LockTimeout, ))
  File "/home/elemoine/mapproxy_test/mapproxysrc/mapproxy/seed/util.py",
line 216, in exp_backoff
    result = func(*args, **kw)
  File "/home/elemoine/mapproxy_test/mapproxysrc/mapproxy/cache/tile.py",
line 126, in load_tile_coords
    created_tiles = creator.create_tiles(uncached_tiles)
  File "/home/elemoine/mapproxy_test/mapproxysrc/mapproxy/cache/tile.py",
line 213, in create_tiles
    created_tiles = self._create_single_tiles(tiles)
  File "/home/elemoine/mapproxy_test/mapproxysrc/mapproxy/cache/tile.py",
line 237, in _create_single_tiles
    created_tiles.extend(self._create_single_tile(tile))
  File "/home/elemoine/mapproxy_test/mapproxysrc/mapproxy/cache/tile.py",
line 253, in _create_single_tile
    source = self._query_sources(query)
  File "/home/elemoine/mapproxy_test/mapproxysrc/mapproxy/cache/tile.py",
line 274, in _query_sources
    return self.sources[0].get_map(query)
  File "/home/elemoine/mapproxy_test/mapproxysrc/mapproxy/source/tile.py",
line 95, in get_map
    return CacheMapLayer.get_map(self, query)
  File "/home/elemoine/mapproxy_test/mapproxysrc/mapproxy/layer.py",
line 404, in get_map
    result = self._image(query)
  File "/home/elemoine/mapproxy_test/mapproxysrc/mapproxy/layer.py",
line 430, in _image
    raise MapBBOXError("not a single tile")
MapBBOXError: not a single tile


If I remove "origin='nw'" from the destination grid specification, I
get no failure.


--
Eric


More information about the MapProxy mailing list