public TileGenerator(MapConfig config) { _mapConfig = config; _source = ProviderFactory.CreateSourceProvider(config); _tilePathBuilder = _source.GetTilePathBuilder(config.SavePath); _worker = new Core.QueueTaskWorker <TileCoordWrap>(config.RunThreadCount, GetTile, true); _totalTile = _source.TileGrid.TotalTile; }
public TileGenerator(MapConfig config) { if (config.TileSize == null) { config.TileSize = new int[] { 256, 256 }; } var tileSize = new Size(config.TileSize); var extent = new Extent(config.Extent); Coordinate origin; if (config.Origin == null) { origin = extent.GetTopLeft(); } else { origin = new Coordinate(config.Origin); } if (string.IsNullOrEmpty(config.SavePath)) { config.SavePath = Path.Combine(Environment.CurrentDirectory, "Tiles"); } var tileGrid = new TileGrid(config.Resolutions, extent, origin, tileSize); var paras = new Dictionary <string, object>(); //paras.Add("FORMAT", config.Paras.Format); //paras.Add("VERSION", config.Paras.Version); //paras.Add("STYLES", config.Paras.Style); //paras.Add("LAYERS", config.Paras.Layers); //paras.Add("REQUEST", config.Paras.Request); //paras.Add("SRS", config.Paras.Srs); _source = new TileWmsSourceProvider(tileGrid, config.Url, paras); _threadCount = config.RunThreadCount; _savePath = config.SavePath; _offsetZoom = config.OffsetZoom; _tilePathBuilder = new DefaultTilePathBuilder(_savePath); }