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')
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')
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))
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')))
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))
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))
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')
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])
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)])
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)])
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')
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')