def newGetMap(self, params): # HACK: check if the image should be strechted bbox_ratio = float(params['bbox'][2] - params['bbox'][0]) / float(params['bbox'][3] - params['bbox'][1]) image_ratio = float(params['width']) / float(params['height']) img_height = params['height'] resize = False if int(bbox_ratio * 100) != int(image_ratio * 100): params['height'] = int(params['height'] / bbox_ratio) resize = True m = self._buildMap(params) im = Image(params['width'], params['height']) render(m, im) format = PIL_TYPE_MAPPING[params['format']] if resize: import Image as PILImage size = params['width'], params['height'] im = PILImage.open(StringIO(im.tostring(format))) size = params['width'], img_height im = im.resize(size) output = StringIO() im.save(output, format=format) return Response(params['format'].replace('8',''), output.getvalue()) return Response(params['format'].replace('8',''), im.tostring(format))