makinacorpus / landez

Landez operates with tiles, arranges them together into images or builds MBTiles files
GNU Lesser General Public License v3.0
135 stars 52 forks source link

Mapnik signature mismatch error #21

Closed babuni closed 11 years ago

babuni commented 11 years ago

Hi,

I am trying to use landez to render maps in MBTiles using Mapnik XMl file as the input. I am getting the below error. Just wanted to check if this is a known issue before I try to debug it.

Traceback (most recent call last): File "render_mbtiles.py", line 131, in mb.run() File "/usr/local/lib/python2.7/dist-packages/landez-2.0.3.dev0-py2.7.egg/landez/tiles.py", line 290, in run self._gather((z, x, y)) File "/usr/local/lib/python2.7/dist-packages/landez-2.0.3.dev0-py2.7.egg/landez/tiles.py", line 324, in _gather tilecontent = self.tile((z, x, y)) File "/usr/local/lib/python2.7/dist-packages/landez-2.0.3.dev0-py2.7.egg/landez/tiles.py", line 157, in tile output = self.reader.tile(z, x, y) File "/usr/local/lib/python2.7/dist-packages/landez-2.0.3.dev0-py2.7.egg/landez/sources.py", line 234, in tile return self.render(proj.tile_bbox((z, x, y))) File "/usr/local/lib/python2.7/dist-packages/landez-2.0.3.dev0-py2.7.egg/landez/sources.py", line 245, in render self._mapnik = mapnik.Map(width, height) Boost.Python.ArgumentError: Python argument types in Map.init(Map, int, NoneType) did not match C++ signature: init(_object, int width, int height) init(_object, int width, int height, std::string srs)

Thanks Nishanth

babuni commented 11 years ago

Below is the issue in sources.py which should be fixed

def render(self, bbox, output, width=None, height=None): """ Render the specified tile with Mapnik """ width = width or self.tilesize

width = height or self.tilesize <<<<< // use "height" instead of "width"