Ejemplo n.º 1
0
 def test_rev_geocode(self):
     """
     Test map reverse geocode
     """
     location = -6.066, 53.386
     map = Map(center=location, zoom=15, size=(1000, 1000))
     pos = map.rev_geocode(map.center)
     self.assertEqual((500, 500), pos)
Ejemplo n.º 2
0
 def test_rev_geocode(self):
     """
     Test map reverse geocode
     """
     location = -6.066, 53.386
     map = Map(center=location, zoom=15, size=(1000, 1000))
     pos = map.rev_geocode(map.center)
     self.assertEqual((500, 500), pos)
Ejemplo n.º 3
0
def test_map_error_set_size():
    """
    Test if error is raised when size has wrong type on size override
    """
    extent = 11.785390377044687, 46.4799402452901, 11.790883541107167, 46.48372275323265
    size = (512, 512)
    map = Map(extent=extent, size=size)
    with pytest.raises(TypeError):
        map.size = (512.0, 512.0)
Ejemplo n.º 4
0
def test_map_error_set_size():
    """
    Test if error is raised when size has wrong type on size override
    """
    extent = 11.785390377044687, 46.4799402452901, 11.790883541107167, 46.48372275323265
    size = (512, 512)
    map = Map(extent=extent, size=size)
    with pytest.raises(TypeError):
        map.size = (512.0, 512.0)
Ejemplo n.º 5
0
    def test_map_tiles(self):
        """
        Test map tiles calculation
        """
        center = 11.788137, 46.481832
        zoom = 17
        size = 300, 300
        map = Map(center=center, zoom=zoom, size=size)

        coord, corner = _find_top_left_tile(map)
        tiles = _find_tiles(map, coord, corner)

        self.assertEqual(4, len(tiles))

        assert map.origin == (69827, 46376), map.origin
        assert map.offset == (-238, -194), map.offset

        t1, t2, t3, t4 = tiles

        # first row
        self.assertEqual((69827, 46376), t1[0], t1[0])
        self.assertEqual((-88, -44), t1[1])

        self.assertEqual((69828, 46376), t2[0], t2[0])
        self.assertEqual((-88 + 256, -44), t2[1])

        # second row
        self.assertEqual((69827, 46377), t3[0], t3[0])
        self.assertEqual((-88, -44 + 256), t3[1])

        self.assertEqual((69828, 46377), t4[0], t4[0])
        self.assertEqual((-88 + 256, -44 + 256), t4[1])
Ejemplo n.º 6
0
    def test_map_extent_change(self):
        """
        Test changing map extent
        """
        extent = 11.785604953765853, 46.48083418203029, 11.790668964386, 46.4828288639531
        zoom = 17
        map = Map(extent=extent, zoom=zoom)

        assert map.size == (472, 270), map.size
        assert map.zoom == 17, map.zoom

        map.extent = 11.785590, 46.480830, 11.790680, 46.482840

        self.assertEqual((474, 272), map.size)
        self.assertEqual(17, map.zoom)

        self.assertEqual((69827, 46376), map.origin)
        self.assertEqual((-238, -194), map.offset)
Ejemplo n.º 7
0
    def test_map_extent_change(self):
        """
        Test changing map extent
        """
        extent = 11.785604953765853, 46.48083418203029, 11.790668964386, 46.4828288639531
        zoom = 17
        map = Map(extent=extent, zoom=zoom)

        assert map.size == (472, 270), map.size
        assert map.zoom == 17, map.zoom

        map.extent = 11.785590, 46.480830, 11.790680, 46.482840

        self.assertEqual((474, 272), map.size)
        self.assertEqual(17, map.zoom)

        self.assertEqual((69827, 46376), map.origin)
        self.assertEqual((-238, -194), map.offset)
Ejemplo n.º 8
0
    def test_map_size_change_954_541(self):
        """
        Test changing map size (954x541)
        """
        extent = 11.785604953765853, 46.48083418203029, 11.790668964386, 46.4828288639531
        zoom = 17
        map = Map(extent=extent, zoom=zoom)

        assert map.size == (472, 270), map.size

        map.size = 945, 541

        self.assertEqual((945, 541), map.size)
        self.assertEqual(17, map.zoom)  # zoom has not changed
        expected = 11.783067, 46.479833, 11.793206, 46.483829
        assert approx(expected) == map.extent

        self.assertEqual((69827, 46376), map.origin)
        self.assertEqual((-238, -194), map.offset)
Ejemplo n.º 9
0
def test_map_zoom_change_same():
    """
    Test if extent and center of map holds after zoom reset to same value.
    """
    center = (11.788137, 46.481832)
    zoom = 15
    size = 512, 512
    map = Map(center=center, zoom=zoom, size=size)

    # test preconditions
    assert approx((11.788158, 46.481846)) == map.center
    assert approx((11.777172, 46.474280, 11.799144, 46.489410)) == map.extent

    # reset zoom to the same value
    map.zoom = 15

    # the center and map extent have not changed
    assert approx((11.788158, 46.481846)) == map.center
    assert approx((11.777172, 46.474280, 11.799144, 46.489410)) == map.extent
Ejemplo n.º 10
0
    def test_map_size_change_954_541(self):
        """
        Test changing map size (954x541)
        """
        extent = 11.785604953765853, 46.48083418203029, 11.790668964386, 46.4828288639531
        zoom = 17
        map = Map(extent=extent, zoom=zoom)

        assert map.size == (472, 270), map.size

        map.size = 945, 541

        self.assertEqual((945, 541), map.size)
        self.assertEqual(17, map.zoom)  # zoom has not changed
        expected = 11.783073, 46.4798368, 11.7932010, 46.4838261
        for v1, v2 in zip(expected, map.extent):
            self.assertAlmostEqual(v1, v2, 6)

        self.assertEqual((69827, 46376), map.origin)
        self.assertEqual((-238, -194), map.offset)
Ejemplo n.º 11
0
    def test_map_size_change_954_541(self):
        """
        Test changing map size (954x541)
        """
        extent = 11.785604953765853, 46.48083418203029, 11.790668964386, 46.4828288639531
        zoom = 17
        map = Map(extent=extent, zoom=zoom)

        assert map.size == (472, 270), map.size

        map.size = 945, 541

        self.assertEqual((945, 541), map.size)
        self.assertEqual(17, map.zoom) # zoom has not changed
        expected = 11.783073, 46.4798368, 11.7932010, 46.4838261
        for v1, v2 in zip(expected, map.extent):
            self.assertAlmostEqual(v1, v2, 6)

        self.assertEqual((69827, 46376), map.origin)
        self.assertEqual((-238, -194), map.offset)
Ejemplo n.º 12
0
    def test_map_size_change_1908x1082(self):
        """
        Test changing map size (1908x1082)
        """
        extent = 11.785604953765853, 46.48083418203029, 11.790668964386, 46.4828288639531
        zoom = 17
        map = Map(extent=extent, zoom=zoom)

        assert map.size == (472, 270), map.size

        map.size = 1908, 1082

        self.assertEqual((1908, 1082), map.size)
        self.assertEqual(17, map.zoom) # zoom has not changed
        expected = 11.777902, 46.4778346, 11.7983723, 46.4858281
        for v1, v2 in zip(expected, map.extent):
            self.assertAlmostEqual(v1, v2, 6)

        self.assertEqual((69827, 46376), map.origin)
        self.assertEqual((-238, -194), map.offset)
Ejemplo n.º 13
0
    def test_map_size_change_1908x1082(self):
        """
        Test changing map size (1908x1082)
        """
        extent = 11.785604953765853, 46.48083418203029, 11.790668964386, 46.4828288639531
        zoom = 17
        map = Map(extent=extent, zoom=zoom)

        assert map.size == (472, 270), map.size

        map.size = 1908, 1082

        self.assertEqual((1908, 1082), map.size)
        self.assertEqual(17, map.zoom)  # zoom has not changed
        expected = 11.777902, 46.4778346, 11.7983723, 46.4858281
        for v1, v2 in zip(expected, map.extent):
            self.assertAlmostEqual(v1, v2, 6)

        self.assertEqual((69827, 46376), map.origin)
        self.assertEqual((-238, -194), map.offset)
Ejemplo n.º 14
0
    def test_map_center_change(self):
        """
        Test changing map center
        """
        extent = 11.785604953765853, 46.48083418203029, 11.790668964386, 46.4828288639531
        zoom = 17
        map = Map(extent=extent, zoom=zoom)

        assert map.size == (472, 270), map.size

        delta = 4 * 1e-5
        map.center = 11.788136959075942 + delta, 46.481831532133 + delta

        self.assertEqual((472, 270), map.size)
        self.assertEqual(17, map.zoom)

        expected = 11.7856478, 46.480871, 11.790712, 46.482866
        for v1, v2 in zip(expected, map.extent):
            self.assertAlmostEqual(v1, v2, 6, map.extent)

        self.assertEqual((69827, 46376), map.origin)
        self.assertEqual((-242, -189), map.offset)
Ejemplo n.º 15
0
    def test_map_center_change(self):
        """
        Test changing map center
        """
        extent = 11.785604953765853, 46.48083418203029, 11.790668964386, 46.4828288639531
        zoom = 17
        map = Map(extent=extent, zoom=zoom)

        assert map.size == (472, 270), map.size

        delta = 4 * 1e-5
        map.center = 11.788136959075942 + delta, 46.481831532133 + delta

        self.assertEqual((472, 270), map.size)
        self.assertEqual(17, map.zoom)

        expected = 11.7856478, 46.480871, 11.790712, 46.482866
        for v1, v2 in zip(expected, map.extent):
            self.assertAlmostEqual(v1, v2, 6, map.extent)

        self.assertEqual((69827, 46376), map.origin)
        self.assertEqual((-242, -189), map.offset)
Ejemplo n.º 16
0
    def test_map_zoom_change(self):
        """
        Test changing map zoom
        """
        extent = 11.785604953765853, 46.48083418203029, 11.790668964386, 46.4828288639531
        zoom = 17
        map = Map(extent=extent, zoom=zoom)

        assert map.size == (472, 270), map.size
        assert map.zoom == 17, map.zoom

        map.zoom = 16

        self.assertEqual((472, 270), map.size)
        self.assertEqual(16, map.zoom)

        expected = 11.783072, 46.479836, 11.793200, 46.483826
        assert approx(expected) == map.extent

        self.assertEqual((34913, 23188), map.origin)
        self.assertEqual(16, map.zoom)
        self.assertEqual((-247, -97), map.offset)
Ejemplo n.º 17
0
    def test_map_zoom_change(self):
        """
        Test changing map zoom
        """
        extent = 11.785604953765853, 46.48083418203029, 11.790668964386, 46.4828288639531
        zoom = 17
        map = Map(extent=extent, zoom=zoom)

        assert map.size == (472, 270), map.size
        assert map.zoom == 17, map.zoom

        map.zoom = 16

        self.assertEqual((472, 270), map.size)
        self.assertEqual(16, map.zoom)

        expected = 11.780519, 46.481270, 11.790648, 46.485259
        for v1, v2 in zip(expected, map.extent):
            self.assertAlmostEqual(v1, v2, 6, map.extent)

        self.assertEqual((34913, 23188), map.origin)
        self.assertEqual(16, map.zoom)
        self.assertEqual((-128, 0), map.offset)
Ejemplo n.º 18
0
    def test_map_zoom_change(self):
        """
        Test changing map zoom
        """
        extent = 11.785604953765853, 46.48083418203029, 11.790668964386, 46.4828288639531
        zoom = 17
        map = Map(extent=extent, zoom=zoom)

        assert map.size == (472, 270), map.size
        assert map.zoom == 17, map.zoom

        map.zoom = 16

        self.assertEqual((472, 270), map.size)
        self.assertEqual(16, map.zoom)

        expected = 11.780519, 46.481270, 11.790648, 46.485259
        for v1, v2 in zip(expected, map.extent):
            self.assertAlmostEqual(v1, v2, 6, map.extent)

        self.assertEqual((34913, 23188), map.origin)
        self.assertEqual(16, map.zoom)
        self.assertEqual((-128, 0), map.offset)
Ejemplo n.º 19
0
    def test_map_create_extent_size(self):
        """
        Test map instantiation with extent and size
        """
        extent = 11.785390377044687, 46.4799402452901, 11.790883541107167, 46.48372275323265
        size = 512, 512
        map = Map(extent=extent, size=size)

        self.assertEqual((512, 512), map.size)
        self.assertEqual(17, map.zoom)
        assert extent == approx(map.extent)
        assert (11.788137, 46.481832) == approx(map.center)

        self.assertEqual((69827, 46376), map.origin)
        self.assertEqual((-238, -194), map.offset)
Ejemplo n.º 20
0
    def test_map_create_extent_zoom(self):
        """
        Test map instantiation with extent and zoom
        """
        extent = 11.785604953765853, 46.48083418203029, 11.790668964386, 46.4828288639531
        zoom = 17
        map = Map(extent=extent, zoom=zoom)

        self.assertEqual((472, 270), map.size)
        self.assertEqual(17, map.zoom)
        assert extent == approx(map.extent)
        assert (11.788137, 46.481832) == approx(map.center)

        self.assertEqual((69827, 46376), map.origin)
        self.assertEqual((-238, -194), map.offset)
Ejemplo n.º 21
0
def test_map_create_center_zoom_size_numpy():
    """
    Test map instantiation with center, zoom and size using NumPy arrays
    """
    center = np.array([11.788137, 46.481832])
    zoom = 17
    size = np.array([512, 512])
    map = Map(center=center, zoom=zoom, size=size)
    assert np.all([512, 512] == map.size)
    assert 17 == map.zoom

    expected = 11.785390, 46.479940, 11.790883, 46.483722
    assert expected == approx(map.extent)
    assert (11.788137, 46.481832) == approx(map.center)

    assert (69827, 46376) == map.origin
    assert (-238, -194) == map.offset
Ejemplo n.º 22
0
def test_map_create_center_zoom_size():
    """
    Test map instantiation with center, zoom and size
    """
    center = 11.788137, 46.481832
    zoom = 17
    size = 512, 512
    map = Map(center=center, zoom=zoom, size=size)
    assert (512, 512) == map.size
    assert 17 == map.zoom

    expected = 11.785390, 46.479940, 11.790883, 46.483722
    assert expected == approx(map.extent)
    assert (11.788137, 46.481832) == approx(map.center)

    assert (69827, 46376) == map.origin
    assert (-238, -194) == map.offset
Ejemplo n.º 23
0
    def test_map_create_center_zoom_size(self):
        """
        Test map instantiation with center, zoom and size
        """
        center = 11.788137, 46.481832
        zoom = 17
        size = 512, 512
        map = Map(center=center, zoom=zoom, size=size)
        self.assertEqual((512, 512), map.size)
        self.assertEqual(17, map.zoom)

        expected = 11.785390377044687, 46.4799402452901, 11.790883541107167, 46.48372275323265
        self.assertEqual(expected, map.extent)
        self.assertAlmostEqual(11.788137, map.center[0], 6)
        self.assertAlmostEqual(46.481832, map.center[1], 6)

        self.assertEqual((69827, 46376), map.origin)
        self.assertEqual((-238, -194), map.offset)
Ejemplo n.º 24
0
def test_map_create_center_zoom_size():
    """
    Test map instantiation with center, zoom and size
    """
    center = 11.788137, 46.481832
    zoom = 17
    size = 512, 512
    map = Map(center=center, zoom=zoom, size=size)
    assert (512, 512) == map.size
    assert 17 == map.zoom

    expected = 11.785390377044687, 46.4799402452901, 11.790883541107167, 46.48372275323265
    assert expected == map.extent
    assert abs(map.center[0] - 11.788137) < 1e-6
    assert abs(map.center[1] - 46.481832) < 1e-6

    assert (69827, 46376) == map.origin
    assert (-238, -194) == map.offset
Ejemplo n.º 25
0
    def test_map_corner_calculation_12(self):
        """
        Test calculation of map corner (zoom 12)
        """
        center = 11.788137, 46.481832
        zoom = 12
        size = 2000, 2000
        map = Map(center=center, zoom=zoom, size=size)

        assert map.size == (2000, 2000), map.size
        assert map.zoom == 12, map.zoom
        assert map.origin == (2182, 1449), map.origin
        assert map.offset == (-31, -70), map.offset

        coord, corner = _find_top_left_tile(map)
        self.assertEqual(2178, coord[0], coord)
        self.assertEqual(1445, coord[1], coord)
        self.assertEqual((-55, -94), corner)
Ejemplo n.º 26
0
    def test_map_corner_calculation(self):
        """
        Test calculation of map corner
        """
        center = 11.788137, 46.481832
        zoom = 17
        size = 3000, 3000
        map = Map(center=center, zoom=zoom, size=size)

        assert map.size == (3000, 3000), map.size
        assert map.zoom == 17, map.zoom
        assert map.origin == (69827, 46376), map.origin
        assert map.offset == (-238, -194), map.offset

        coord, corner = _find_top_left_tile(map)
        self.assertEqual(69822.000, coord[0])
        self.assertEqual(46370.000, coord[1])
        self.assertEqual((-18, -230), corner)
Ejemplo n.º 27
0
def test_map_create_center_zoom_size_numpy():
    """
    Test map instantiation with center, zoom and size using NumPy arrays
    """
    center = np.array([11.788137, 46.481832])
    zoom = 17
    size = np.array([512, 512])
    map = Map(center=center, zoom=zoom, size=size)
    assert np.all([512, 512] == map.size)
    assert 17 == map.zoom

    expected = 11.785390377044687, 46.4799402452901, 11.790883541107167, 46.48372275323265
    assert expected == map.extent
    assert abs(map.center[0] - 11.788137) < 1e-6
    assert abs(map.center[1] - 46.481832) < 1e-6

    assert (69827, 46376) == map.origin
    assert (-238, -194) == map.offset
Ejemplo n.º 28
0
    def test_map_tile_coords(self):
        """
        Test calculation of coordinates of map tiles
        """
        center = 11.788137, 46.481832
        zoom = 17
        size = 300, 300
        map = Map(center=center, zoom=zoom, size=size)

        assert map.origin == (69827, 46376), map.origin
        assert map.offset == (-238, -194), map.offset

        coord, offset = _find_top_left_tile(map)
        coords = tuple(_tile_coords(map, coord, offset))

        c1, c2, c3, c4 = coords

        # first col
        self.assertEqual((69827, 46376), c1, coords)
        self.assertEqual((69827, 46377), c2, coords)
        # second col
        self.assertEqual((69828, 46376), c3, coords)
        self.assertEqual((69828, 46377), c4, coords)
Ejemplo n.º 29
0
    def test_map_tile_offsets(self):
        """
        Test calculation of image offsets of map tiles
        """
        center = 11.788137, 46.481832
        zoom = 17
        size = 300, 300
        map = Map(center=center, zoom=zoom, size=size)

        assert map.origin == (69827, 46376), map.origin
        assert map.offset == (-238, -194), map.offset

        coord, offset = _find_top_left_tile(map)
        offsets = tuple(_tile_offsets(map, offset))

        o1, o2, o3, o4 = offsets

        # first col
        self.assertEqual((-88, -44), o1, offsets)
        self.assertEqual((-88, -44 + 256), o2, offsets)
        # second col
        self.assertEqual((-88 + 256, -44), o3, offsets)
        self.assertEqual((-88 + 256, -44 + 256), o4, offsets)