def open(self, url, data=None): self.requested.append(url) w = int(re.search(r'width=(\d+)', url, re.IGNORECASE).group(1)) h = int(re.search(r'height=(\d+)', url, re.IGNORECASE).group(1)) format = re.search(r'format=image(/|%2F)(\w+)', url, re.IGNORECASE).group(2) transparent = re.search(r'transparent=(\w+)', url, re.IGNORECASE) transparent = True if transparent and transparent.group(1).lower() == 'true' else False result = BytesIO() create_debug_img((int(w), int(h)), transparent).save(result, format=format) result.seek(0) result.headers = {'Content-type': 'image/'+format} return result
def setup(self): self.src_img = ImageSource(create_debug_img((200, 200), transparent=False)) self.src_srs = SRS(31467) self.dst_size = (100, 150) self.dst_srs = SRS(4326) self.dst_bbox = (0.2, 45.1, 8.3, 53.2) self.src_bbox = self.dst_srs.transform_bbox_to(self.src_srs, self.dst_bbox)
def test_geotiff_tags( self, tmpdir, srs, bbox, size, expected_pixel_res, expected_origin, projected, compression, ): img = ImageSource(create_debug_img(size), georef=GeoReference(bbox=bbox, srs=SRS(srs))) fname = os.path.join(str(tmpdir), 'geo.tiff') img_opts = ImageOptions(format='tiff', encoding_options={'tiff_compression': compression}) img2 = ImageSource(img.as_buffer(img_opts)).as_image() assert_geotiff_tags(img2, expected_origin, expected_pixel_res, srs, projected)
def get_tile(self, tile_coord, format=None): self.requested_tiles.append(tile_coord) return ImageSource(create_debug_img((256, 256)))
def retrieve(self, query, format): self.requested.append((query.bbox, query.size, query.srs)) return create_debug_img(query.size)
def _image(self, size): return create_debug_img(size)
def encoded_size(encoding_options): ir = ImageSource(create_debug_img((100, 100)), PNG_FORMAT) buf = ir.as_buffer(ImageOptions(format="tiff", encoding_options=encoding_options)) return len(buf.read())