コード例 #1
0
ファイル: test_image.py プロジェクト: atrawog/mapproxy
 def test_transform(self, mesh_div=4):
     transformer = ImageTransformer(self.src_srs, self.dst_srs, mesh_div=mesh_div)
     result = transformer.transform(self.src_img, self.src_bbox, self.dst_size, self.dst_bbox,
         image_opts=ImageOptions(resampling='nearest'))
     assert isinstance(result, ImageSource)
     assert result.as_image() != self.src_img
     assert result.size == (100, 150)
コード例 #2
0
ファイル: test_image.py プロジェクト: yili9111/mapproxy
 def test_perfect_match(self):
     bbox = (-10, -5, 30, 35)
     transformer = ImageTransformer(SRS(4326), SRS(4326))
     result = transformer.transform(
         self.img, bbox, (100, 100), bbox, image_opts=None
     )
     assert self.img == result
コード例 #3
0
ファイル: test_image.py プロジェクト: wkke/mapproxy
 def test_transform(self, mesh_div=4):
     transformer = ImageTransformer(self.src_srs, self.dst_srs, mesh_div=mesh_div)
     result = transformer.transform(self.src_img, self.src_bbox, self.dst_size, self.dst_bbox,
         image_opts=ImageOptions(resampling='nearest'))
     assert isinstance(result, ImageSource)
     assert result.as_image() != self.src_img
     assert result.size == (100, 150)
コード例 #4
0
ファイル: test_image.py プロジェクト: wkke/mapproxy
 def _test_compare_mesh_div(self):
     """
     Create transformations with different div values.
     """
     for div in [1, 2, 4, 6, 8, 12, 16]:
         transformer = ImageTransformer(self.src_srs, self.dst_srs, mesh_div=div)
         result = transformer.transform(self.src_img, self.src_bbox,
                                        self.dst_size, self.dst_bbox)
         result.as_image().save('/tmp/transform-%d.png' % (div,))
コード例 #5
0
ファイル: test_image.py プロジェクト: atrawog/mapproxy
 def _test_compare_mesh_div(self):
     """
     Create transformations with different div values.
     """
     for div in [1, 2, 4, 6, 8, 12, 16]:
         transformer = ImageTransformer(self.src_srs, self.dst_srs, mesh_div=div)
         result = transformer.transform(self.src_img, self.src_bbox,
                                        self.dst_size, self.dst_bbox)
         result.as_image().save('/tmp/transform-%d.png' % (div,))
コード例 #6
0
ファイル: test_image.py プロジェクト: wkke/mapproxy
    def test_simple_resize_nearest(self):
        bbox = (-10, -5, 30, 35)
        transformer = ImageTransformer(SRS(4326), SRS(4326))
        result = transformer.transform(self.img, bbox, (200, 200), bbox,
            image_opts=ImageOptions(resampling='nearest'))
        img = result.as_image()

        eq_(img.size, (200, 200))
        eq_(len(img.getcolors()), 2)
コード例 #7
0
ファイル: test_image.py プロジェクト: atrawog/mapproxy
 def test_simple_resize_nearest(self):
     bbox = (-10, -5, 30, 35)
     transformer = ImageTransformer(SRS(4326), SRS(4326))
     result = transformer.transform(self.img, bbox, (200, 200), bbox,
         image_opts=ImageOptions(resampling='nearest'))
     img = result.as_image()
     
     eq_(img.size, (200, 200))
     eq_(len(img.getcolors()), 2)
コード例 #8
0
ファイル: test_image.py プロジェクト: LKajan/mapproxy
 def _test_compare_max_px_err(self):
     """
     Create transformations with different div values.
     """
     for err in [0.2, 0.5, 1, 2, 4, 6, 8, 12, 16]:
         transformer = ImageTransformer(self.src_srs, self.dst_srs, max_px_err=err)
         result = transformer.transform(self.src_img, self.src_bbox,
                                        self.dst_size, self.dst_bbox,
                                        image_opts=ImageOptions(resampling='nearest'))
         result.as_image().save('/tmp/transform-%03d.png' % (err*10,))
コード例 #9
0
ファイル: test_image.py プロジェクト: atrawog/mapproxy
 def test_simple_resize_bilinear(self):
     bbox = (-10, -5, 30, 35)
     transformer = ImageTransformer(SRS(4326), SRS(4326))
     result = transformer.transform(self.img, bbox, (200, 200), bbox,
         image_opts=ImageOptions(resampling='bilinear'))
     img = result.as_image()
     
     eq_(img.size, (200, 200))
     # some shades of grey with bilinear
     assert len(img.getcolors()) >= 4
コード例 #10
0
ファイル: test_image.py プロジェクト: wkke/mapproxy
    def test_simple_resize_bilinear(self):
        bbox = (-10, -5, 30, 35)
        transformer = ImageTransformer(SRS(4326), SRS(4326))
        result = transformer.transform(self.img, bbox, (200, 200), bbox,
            image_opts=ImageOptions(resampling='bilinear'))
        img = result.as_image()

        eq_(img.size, (200, 200))
        # some shades of grey with bilinear
        assert len(img.getcolors()) >= 4
コード例 #11
0
ファイル: test_image.py プロジェクト: yili9111/mapproxy
 def test_transform(self):
     transformer = ImageTransformer(self.src_srs, self.dst_srs)
     result = transformer.transform(
         self.src_img,
         self.src_bbox,
         self.dst_size,
         self.dst_bbox,
         image_opts=ImageOptions(resampling="nearest"),
     )
     assert isinstance(result, ImageSource)
     assert result.as_image() != self.src_img.as_image()
     assert result.size == (100, 150)
コード例 #12
0
ファイル: tile.py プロジェクト: LKajan/mapproxy
    def transform(self, req_bbox, req_srs, out_size, image_opts):
        """
        Return the the tiles as one merged and transformed image.

        :param req_bbox: the bbox of the output image
        :param req_srs: the srs of the req_bbox
        :param out_size: the size in pixel of the output image
        :rtype: `ImageSource`
        """
        transformer = ImageTransformer(self.src_srs, req_srs)
        src_img = self.image(image_opts)
        return transformer.transform(src_img, self.src_bbox, out_size, req_bbox,
            image_opts)
コード例 #13
0
    def transform(self, req_bbox, req_srs, out_size, image_opts):
        """
        Return the the tiles as one merged and transformed image.

        :param req_bbox: the bbox of the output image
        :param req_srs: the srs of the req_bbox
        :param out_size: the size in pixel of the output image
        :rtype: `ImageSource`
        """
        transformer = ImageTransformer(self.src_srs, req_srs)
        src_img = self.image(image_opts)
        return transformer.transform(src_img, self.src_bbox, out_size,
                                     req_bbox, image_opts)
コード例 #14
0
ファイル: test_image.py プロジェクト: yili9111/mapproxy
 def _test_compare_max_px_err(self):
     """
     Create transformations with different div values.
     """
     for err in [0.2, 0.5, 1, 2, 4, 6, 8, 12, 16]:
         transformer = ImageTransformer(self.src_srs, self.dst_srs, max_px_err=err)
         result = transformer.transform(
             self.src_img,
             self.src_bbox,
             self.dst_size,
             self.dst_bbox,
             image_opts=ImageOptions(resampling="nearest"),
         )
         result.as_image().save("/tmp/transform-%03d.png" % (err * 10,))
コード例 #15
0
ファイル: test_image.py プロジェクト: yili9111/mapproxy
    def test_simple_resize_nearest(self):
        bbox = (-10, -5, 30, 35)
        transformer = ImageTransformer(SRS(4326), SRS(4326))
        result = transformer.transform(
            self.img,
            bbox,
            (200, 200),
            bbox,
            image_opts=ImageOptions(resampling="nearest"),
        )
        img = result.as_image()

        assert img.size == (200, 200)
        assert len(img.getcolors()) == 2
        img.close()
コード例 #16
0
    def _get_transformed(self, query, format):
        dst_srs = query.srs
        src_srs = self._best_supported_srs(dst_srs)
        dst_bbox = query.bbox
        src_bbox = dst_srs.transform_bbox_to(src_srs, dst_bbox)

        src_width, src_height = src_bbox[2] - src_bbox[0], src_bbox[
            3] - src_bbox[1]
        ratio = src_width / src_height
        dst_size = query.size
        xres, yres = src_width / dst_size[0], src_height / dst_size[1]
        if xres < yres:
            src_size = dst_size[0], int(dst_size[0] / ratio + 0.5)
        else:
            src_size = int(dst_size[1] * ratio + 0.5), dst_size[1]

        src_query = MapQuery(src_bbox,
                             src_size,
                             src_srs,
                             format,
                             dimensions=query.dimensions)

        if self.coverage and not self.coverage.contains(src_bbox, src_srs):
            img = self._get_sub_query(src_query, format)
        else:
            resp = self.client.retrieve(src_query, format)
            img = ImageSource(resp, size=src_size, image_opts=self.image_opts)

        img = ImageTransformer(src_srs,
                               dst_srs).transform(img, src_bbox, query.size,
                                                  dst_bbox, self.image_opts)

        img.format = format
        return img
コード例 #17
0
ファイル: test_image.py プロジェクト: atrawog/mapproxy
 def test_perfect_match(self):
     bbox = (-10, -5, 30, 35)
     transformer = ImageTransformer(SRS(4326), SRS(4326))
     result = transformer.transform(self.img, bbox, (100, 100), bbox, image_opts=None)
     assert self.img == result