protected TileSchema() { this.IsYAxisReversed = false; this.zoomLevels = new Collection <ZoomLevel>(); this.minZoomLevel = new ZoomLevel(0); this.maxZoomLevel = new ZoomLevel(); // take the max resolution }
protected Layer(string id) { this.minZoomLevel = new ZoomLevel(0); this.MaxZoomLevel = new ZoomLevel(); // take the max resolution this.id = id; this.Opacity = 1; }
public ZoomLevel GetNearestZoomLevel(double resolution) { InternalChecker.CheckArrayIsEmptyOrNull(zoomLevels, "ZoomLevels"); var orderedZoomLevels = zoomLevels.OrderByDescending(z => z.Resolution); // smaller than smallest if (orderedZoomLevels.Last().Resolution > resolution) { return(orderedZoomLevels.Last()); } // bigger than biggest if (orderedZoomLevels.First().Resolution < resolution) { return(orderedZoomLevels.First()); } ZoomLevel result = null; double resultDistance = double.MaxValue; foreach (var current in orderedZoomLevels) { double distance = Math.Abs(current.Resolution - resolution); if (distance < resultDistance) { result = current; resultDistance = distance; } } return(result); }
public TileInfo(int column, int row, double resolution, TileSchema tileSchema) { Width = 256; Height = 256; ZoomLevel = new ZoomLevel(resolution); BoundingBox = GetBoundingBoxByColumnRow(column, row); }
public SphericalMercatorTileSchema() { Crs = "EPSG:3857"; IsYAxisReversed = true; MaxExtent = new BoundingBox(-20037508.342789, -20037508.342789, 20037508.342789, 20037508.342789); MinZoomLevel = new ZoomLevel(0); MaxZoomLevel = new ZoomLevel(); // take the max resolution }
public TileInfo(int column, int row, double resolution, TileSchema tileSchema) { this.tileX = -1; this.tileY = -1; this.width = 256; this.height = 256; this.zoomLevel = new ZoomLevel(resolution); this.Extent = GetBoundingBoxByColumnRow(column, row); }
protected override Collection <ZoomLevel> GetZoomLevelsCore() { Collection <ZoomLevel> zoomlevels = new Collection <ZoomLevel>(); for (int i = 0; i < NumberOfZoomLevels; i++) { var resolution = 2 * ScaleFactor / (1 << i); var zoomLevel = new ZoomLevel(resolution, (i + 1).ToString(CultureInfo.InvariantCulture)); zoomlevels.Add(zoomLevel); } return(zoomlevels); }
private static Collection <ZoomLevel> GetZoomLevels(int numberOfZoomLevels) { Collection <ZoomLevel> zoomlevels = new Collection <ZoomLevel>(); for (int i = 0; i < numberOfZoomLevels; i++) { var resolution = 2 * ScaleFactor / (1 << i); var zoomLevel = new ZoomLevel(resolution, (i + 1).ToString(CultureInfo.InvariantCulture)); zoomlevels.Add(zoomLevel); } return(zoomlevels); }
private void InitializeZoomLevels() { ZoomLevels.Clear(); double resolution = MaxResolution; for (int i = 0; i < numberOfZoomLevels; i++) { var ZoomLevel = new ZoomLevel(resolution, (i + 1).ToString(CultureInfo.InvariantCulture)); ZoomLevels.Add(ZoomLevel); resolution /= 2; } }
protected virtual Collection <ZoomLevel> GetZoomLevelsCore() { zoomLevels.Clear(); double resolution = MaxZoomLevel.Resolution; for (int i = 0; i < numberOfZoomLevels; i++) { var zoomLevel = new ZoomLevel(resolution, (i + 1).ToString(CultureInfo.InvariantCulture)); zoomLevels.Add(zoomLevel); resolution /= 2; } return(zoomLevels); }
public void Remove(int tileX, int tileY, ZoomLevel zoomLevel) { Remove(tileX, tileY, zoomLevel.Id); }
public T Read(int tileX, int tileY, ZoomLevel zoomLevel) { return(Read(tileX, tileY, zoomLevel.Id)); }
public void Remove(int column, int row, ZoomLevel zoomLevel) { Remove(column, row, zoomLevel.Id); }
public T Get(int column, int row, ZoomLevel zoomLevel) { return(Get(column, row, zoomLevel.Id)); }