예제 #1
0
 def test_cache_folder(self):
     from filters import ColorToAlpha
     mb = TilesManager(tiles_url='http://server')
     self.assertEqual(mb.cache.folder, '/tmp/landez/server')
     mb.add_filter(ColorToAlpha('#ffffff'))
     self.assertEqual(mb.cache.folder,
                      '/tmp/landez/servercolortoalphaffffff')
예제 #2
0
 def test_download_tile(self):
     mb = TilesManager(cache=False)
     tile = (1, 1, 1)
     # Unknown URL keyword
     mb = TilesManager(tiles_url="http://{X}.tile.openstreetmap.org/{z}/{x}/{y}.png")
     self.assertRaises(DownloadError, mb.tile, (1, 1, 1))
     # With subdomain keyword
     mb = TilesManager(tiles_url="http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png")
     content = mb.tile(tile)
     self.assertTrue(content is not None)
     # No subdomain keyword
     mb = TilesManager(tiles_url="http://tile.openstreetmap.org/{z}/{x}/{y}.png")
     content = mb.tile(tile)
     self.assertTrue(content is not None)
     # Subdomain in available range
     mb = TilesManager(tiles_url="http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
                       tiles_subdomains=list("abc"))
     for y in range(3):
         content = mb.tile((10, 0, y))
         self.assertTrue(content is not None)
     # Subdomain out of range
     mb = TilesManager(tiles_subdomains=list("abcz"))
     self.assertRaises(DownloadError, mb.tile, (10, 1, 2))
     # Invalid URL
     mb = TilesManager(tiles_url="http://{s}.osm.com")
     self.assertRaises(DownloadError, mb.tile, (10, 1, 2))
예제 #3
0
 def test_cache_folder(self):
     mb = TilesManager(tiles_url='http://server')
     self.assertEqual(mb.cache.folder, '/tmp/landez/server')
     over = TilesManager(tiles_url='http://toto')
     self.assertEqual(over.cache.folder, '/tmp/landez/toto')
     mb.add_layer(over)
     self.assertEqual(mb.cache.folder, '/tmp/landez/servertoto10')
     mb.add_layer(over, 0.5)
     self.assertEqual(mb.cache.folder, '/tmp/landez/servertoto10toto05')
예제 #4
0
파일: tests.py 프로젝트: dispiste/landez
 def test_cache_is_stored_at_TMS_format(self):
     tm = TilesManager(
         tiles_url="http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
         cache=True,
         cache_scheme='tms')
     tilecontent = tm.tile((12, 2064, 1495))
     self.assertTrue(
         os.path.exists(
             os.path.join(self.temp_path, '12', '2064', '2600.png')))
예제 #5
0
파일: tests.py 프로젝트: Adapptor/landez
 def test_clean(self):
     mb = TilesManager()
     self.assertEqual(mb.tmp_dir, '/tmp/landez')
     # Missing dir
     self.assertFalse(os.path.exists(mb.tmp_dir))
     mb.clean()
     # Empty dir
     os.makedirs(mb.tmp_dir)
     self.assertTrue(os.path.exists(mb.tmp_dir))
     mb.clean()
     self.assertFalse(os.path.exists(mb.tmp_dir))
예제 #6
0
파일: tests.py 프로젝트: plorry/landez
 def test_tileslist(self):
     mb = TilesManager()
     # World at level 0
     l = mb.tileslist((-180.0, -90.0, 180.0, 90.0), [0])
     self.assertEqual(l, [(0, 0, 0)])
     # World at levels [0, 1]
     l = mb.tileslist((-180.0, -90.0, 180.0, 90.0), [0, 1])
     self.assertEqual(l, [(0, 0, 0),
                          (1, 0, 0), (1, 0, 1), (1, 1, 0), (1, 1, 1)])
     # Incorrect bounds
     self.assertRaises(InvalidCoverageError, mb.tileslist, (-91.0, -180.0), [0])
     self.assertRaises(InvalidCoverageError, mb.tileslist, (-90.0, -180.0, 180.0, 90.0), [])
     self.assertRaises(InvalidCoverageError, mb.tileslist, (-91.0, -180.0, 180.0, 90.0), [0])
     self.assertRaises(InvalidCoverageError, mb.tileslist, (-91.0, -180.0, 181.0, 90.0), [0])
     self.assertRaises(InvalidCoverageError, mb.tileslist, (-90.0, 180.0, 180.0, 90.0), [0])
     self.assertRaises(InvalidCoverageError, mb.tileslist, (-30.0, -90.0, -50.0, 90.0), [0])
예제 #7
0
 def test_tileslist(self):
     mb = TilesManager()
     # World at level 0
     l = mb.tileslist((-180.0, -90.0, 180.0, 90.0), [0])
     self.assertEqual(l, [(0, 0, 0)])
     # World at levels [0, 1]
     l = mb.tileslist((-180.0, -90.0, 180.0, 90.0), [0, 1])
     self.assertEqual(l, [(0, 0, 0),
                          (1, 0, 0), (1, 0, 1), (1, 1, 0), (1, 1, 1)])
     # Incorrect bounds
     self.assertRaises(InvalidCoverageError, mb.tileslist, (-91.0, -180.0), [0])
     self.assertRaises(InvalidCoverageError, mb.tileslist, (-90.0, -180.0, 180.0, 90.0), [])
     self.assertRaises(InvalidCoverageError, mb.tileslist, (-91.0, -180.0, 180.0, 90.0), [0])
     self.assertRaises(InvalidCoverageError, mb.tileslist, (-91.0, -180.0, 181.0, 90.0), [0])
     self.assertRaises(InvalidCoverageError, mb.tileslist, (-90.0, 180.0, 180.0, 90.0), [0])
     self.assertRaises(InvalidCoverageError, mb.tileslist, (-30.0, -90.0, -50.0, 90.0), [0])
예제 #8
0
파일: tests.py 프로젝트: plorry/landez
 def test_cache_folder(self):
     mb = TilesManager(tiles_url='http://server')
     self.assertEqual(mb.cache.folder, '/tmp/landez/server')
     over = TilesManager(tiles_url='http://toto')
     self.assertEqual(over.cache.folder, '/tmp/landez/toto')
     mb.add_layer(over)
     self.assertEqual(mb.cache.folder, '/tmp/landez/servertoto10')
     mb.add_layer(over, 0.5)
     self.assertEqual(mb.cache.folder, '/tmp/landez/servertoto10toto05')
예제 #9
0
파일: tests.py 프로젝트: osuchw/landez
 def test_clean(self):
     mb = TilesManager()
     self.assertEqual(mb.cache.folder, '/tmp/landez/stileopenstreetmaporg')
     # Missing dir
     self.assertFalse(os.path.exists(mb.cache.folder))
     mb.cache.clean()
     # Empty dir
     os.makedirs(mb.cache.folder)
     self.assertTrue(os.path.exists(mb.cache.folder))
     mb.cache.clean()
     self.assertFalse(os.path.exists(mb.cache.folder))
예제 #10
0
파일: tests.py 프로젝트: plorry/landez
 def test_clean(self):
     mb = TilesManager()
     self.assertEqual(mb.cache.folder, self.temp_path)
     # Missing dir
     self.assertFalse(os.path.exists(mb.cache.folder))
     mb.cache.clean()
     # Empty dir
     os.makedirs(mb.cache.folder)
     self.assertTrue(os.path.exists(mb.cache.folder))
     mb.cache.clean()
     self.assertFalse(os.path.exists(mb.cache.folder))
예제 #11
0
 def test_format(self):
     mb = TilesManager()
     self.assertEqual(mb.tile_format, 'image/png')
     self.assertEqual(mb.cache.extension, '.png')
     # Format from WMS options
     mb = TilesManager(wms_server='dumb',
                       wms_layers=['dumber'],
                       wms_options={'format': 'image/jpeg'})
     self.assertEqual(mb.tile_format, 'image/jpeg')
     self.assertEqual(mb.cache.extension, '.jpeg')
     # Format from URL extension
     mb = TilesManager(tiles_url='http://tileserver/{z}/{x}/{y}.jpg')
     self.assertEqual(mb.tile_format, 'image/jpeg')
     self.assertEqual(mb.cache.extension, '.jpeg')
     mb = TilesManager(tiles_url='http://tileserver/{z}/{x}/{y}.png')
     self.assertEqual(mb.tile_format, 'image/png')
     self.assertEqual(mb.cache.extension, '.png')
     # No extension in URL
     mb = TilesManager(tiles_url='http://tileserver/tiles/')
     self.assertEqual(mb.tile_format, 'image/png')
     self.assertEqual(mb.cache.extension, '.png')
     mb = TilesManager(tile_format='image/gif',
                       tiles_url='http://tileserver/tiles/')
     self.assertEqual(mb.tile_format, 'image/gif')
     self.assertEqual(mb.cache.extension, '.gif')
예제 #12
0
    def test_tileslist_at_z1_x0_y0_tms(self):
        mb = TilesManager()
        l = mb.tileslist((-180.0, 1, -1, 90.0), [1], scheme='tms')

        self.assertEqual(l, [(1, 0, 1)])
예제 #13
0
 def test_tileslist_at_z1_x0_y0(self):
     mb = TilesManager()
     l = mb.tileslist((-180.0, 1, -1, 90.0), [1])
     self.assertEqual(l, [(1, 0, 0)])
예제 #14
0
 def test_cache_folder(self):
     from filters import ColorToAlpha
     mb = TilesManager(tiles_url='http://server')
     self.assertEqual(mb.cache.folder, '/tmp/landez/server')
     mb.add_filter(ColorToAlpha('#ffffff'))
     self.assertEqual(mb.cache.folder, '/tmp/landez/servercolortoalphaffffff')
예제 #15
0
 def test_cache_is_stored_at_TMS_format(self):
     tm = TilesManager(tiles_url="http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", cache=True, cache_scheme='tms')
     tilecontent = tm.tile((12, 2064, 1495))
     self.assertTrue(os.path.exists(os.path.join(self.temp_path, '12', '2064', '2600.png')))
예제 #16
0
파일: tests.py 프로젝트: plorry/landez
 def test_download_tile(self):
     mb = TilesManager(cache=False)
     tile = (1, 1, 1)
     # Unknown URL keyword
     mb = TilesManager(tiles_url="http://{X}.tile.openstreetmap.org/{z}/{x}/{y}.png")
     self.assertRaises(DownloadError, mb.tile, (1, 1, 1))
     # With subdomain keyword
     mb = TilesManager(tiles_url="http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png")
     content = mb.tile(tile)
     self.assertTrue(content is not None)
     # No subdomain keyword
     mb = TilesManager(tiles_url="http://tile.cloudmade.com/f1fe9c2761a15118800b210c0eda823c/1/{size}/{z}/{x}/{y}.png")
     content = mb.tile(tile)
     self.assertTrue(content is not None)
     # Subdomain in available range
     mb = TilesManager(tiles_url="http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
                       tiles_subdomains=list("abc"))
     for y in range(3):
         content = mb.tile((10, 0, y))
         self.assertTrue(content is not None)
     # Subdomain out of range
     mb = TilesManager(tiles_subdomains=list("abcz"))
     self.assertRaises(DownloadError, mb.tile, (10, 1, 2))
     # Invalid URL
     mb = TilesManager(tiles_url="http://{s}.osm.com")
     self.assertRaises(DownloadError, mb.tile, (10, 1, 2))
예제 #17
0
파일: tests.py 프로젝트: plorry/landez
    def test_tileslist_at_z1_x0_y0_tms(self):
        mb = TilesManager()
        l = mb.tileslist((-180.0, 1, -1, 90.0), [1], scheme='tms')

        self.assertEqual(l, [(1, 0, 1)])
예제 #18
0
파일: tests.py 프로젝트: plorry/landez
 def test_tileslist_at_z1_x0_y0(self):
     mb = TilesManager()
     l = mb.tileslist((-180.0, 1, -1, 90.0), [1])
     self.assertEqual(l, [(1, 0, 0)])
예제 #19
0
파일: tests.py 프로젝트: 3Geo/landez
 def test_download_tile(self):
     output = '/tmp/tile.png'
     if os.path.exists(output): os.remove(output)
     
     # Unknown URL keyword
     mb = TilesManager()
     mb.tiles_url = "http://{X}.tile.openstreetmap.org/{z}/{x}/{y}.png"
     self.assertRaises(DownloadError, mb.download_tile, output, 1, 1, 1)
     self.assertFalse(os.path.exists(output))
     # With subdomain keyword
     mb.tiles_url = "http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
     mb.download_tile(output, 1, 1, 1)
     self.assertTrue(os.path.exists(output))
     # No subdomain keyword
     mb.tiles_url = "http://tile.cloudmade.com/f1fe9c2761a15118800b210c0eda823c/1/{size}/{z}/{x}/{y}.png"
     mb.download_tile(output, 1, 1, 1)
     self.assertTrue(os.path.exists(output))
     # Subdomain in available range
     mb.tiles_url = "http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
     mb.tiles_subdomains = list("abc")
     for y in range(3):
         mb.download_tile(output, 10, 0, y)
         self.assertTrue(os.path.exists(output))
     # Subdomain out of range
     mb.tiles_subdomains = list("abcz")
     self.assertRaises(DownloadError, mb.download_tile, output, 10, 1, 2)
     
     # Clean out
     os.remove(output)
예제 #20
0
파일: tests.py 프로젝트: plorry/landez
 def test_cache_with_bad_scheme(self):
     with self.assertRaises(AssertionError):
         TilesManager(tiles_url="http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", cache=True, cache_scheme='badscheme')
예제 #21
0
파일: tests.py 프로젝트: plorry/landez
 def test_cache_scheme_WMTS(self):
     tm = TilesManager(tiles_url="http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", cache=True, cache_scheme='wmts')
     self.assertEqual(tm.cache.scheme, 'xyz')