private Image GetTileImage(string mbtilefile, string level, int col, int row) { if (File.Exists(mbtilefile)) { var connectionString = string.Format("Data Source={0}", mbtilefile); var mbTileProvider = new MbTileProvider(connectionString); var image = mbTileProvider.GetTile(level, col, row); return(image); } return(null); }
public void FirstTest() { // arrange var connectionString = string.Format("Data Source={0}", "cities.mbtile"); var mbTileProvider = new MbTileProvider(connectionString); // act var image = mbTileProvider.GetTile("0", 0, 0); // assert Assert.IsTrue(image != null); }
public HttpResponseMessage Get(int level, int col, int row) { HttpResponseMessage response = new HttpResponseMessage(); var fullPath = System.Web.Hosting.HostingEnvironment.MapPath(@"~/App_Data/countries-raster.mbtiles"); var connectionString = string.Format("Data Source={0}", fullPath); var mbTileProvider = new MbTileProvider(connectionString); MemoryStream image = mbTileProvider.GetTile(level, col, row); response.Content = new StreamContent(image); // this file stream will be closed by lower layers of web api for you once the response is completed. response.Content.Headers.ContentType = new MediaTypeHeaderValue("image/png"); return(response); }
private static byte[] FindInMbTilesTileSources(string layer, string level, int col, int row) { var mbtiledir = ConfigurationManager.AppSettings["MbTileDir"]; var mbtiledb = mbtiledir + GetDataSource(layer); if (!File.Exists(mbtiledb)) { return(null); } // todo: hoe werkt dit? var ymax = 1 << Int32.Parse(level); var y = ymax - row - 1; var connectionString = string.Format("Data Source={0}", mbtiledb); var mbTileProvider = new MbTileProvider(connectionString); return(mbTileProvider.GetTile(level, col, y)); }