private TileExtent getTileExtent_4490(int zoomLevel) { TileExtent tileExtent = new TileExtent(); tileExtent.ProjType = this.PROJECTION_TYPE; tileExtent.ZoomLevel = zoomLevel; tileExtent.ZoomResolution = this.GetZoomResolution(zoomLevel); tileExtent.ZoomScale = this.GetZoomScale(zoomLevel); tileExtent.MinColumnIndex = 0; tileExtent.MinRowIndex = 0; if (zoomLevel == 0) { tileExtent.RowNumber = 1; tileExtent.ColumnNumber = 1; } else if (zoomLevel == 1) { tileExtent.RowNumber = 1; tileExtent.ColumnNumber = 2; tileExtent.MaxColumnIndex = 0; tileExtent.MaxRowIndex = 0; } else { tileExtent.RowNumber = Convert.ToInt32(1 * Math.Pow(2, (zoomLevel - 1))); tileExtent.ColumnNumber = Convert.ToInt32(2 * Math.Pow(2, (zoomLevel - 1))); } tileExtent.MaxColumnIndex = tileExtent.ColumnNumber - 1; tileExtent.MaxRowIndex = tileExtent.RowNumber - 1; return(tileExtent); }
/// <summary> /// 获取默认瓦片范围 /// </summary> /// <param name="zoomLevel"></param> /// <returns></returns> public TileExtent GetDefaultTileExtent(int zoomLevel) { if (!this.CheckZoomLevel(zoomLevel)) { return(null); } TileExtent result = null; switch (this.PROJECTION_TYPE) { case ProjectionType.EPSG_3857: result = this.getTileExtent_3857(zoomLevel); break; case ProjectionType.EPSG_4326: result = this.getTileExtent_4326(zoomLevel); break; case ProjectionType.EPSG_4490: result = this.getTileExtent_4490(zoomLevel); break; default: result = null; break; } return(result); }
private TileExtent getTileExtent_3857(int zoomLevel) { TileExtent tileExtent = new TileExtent(); tileExtent.ProjType = this.PROJECTION_TYPE; tileExtent.ZoomLevel = zoomLevel; tileExtent.ZoomResolution = this.GetZoomResolution(zoomLevel); tileExtent.ZoomScale = this.GetZoomScale(zoomLevel); tileExtent.MinColumnIndex = 0; tileExtent.MinRowIndex = 0; tileExtent.RowNumber = Convert.ToInt32(Math.Pow(2, zoomLevel)); tileExtent.ColumnNumber = Convert.ToInt32(Math.Pow(2, zoomLevel)); tileExtent.MaxColumnIndex = tileExtent.ColumnNumber - 1; tileExtent.MaxRowIndex = tileExtent.RowNumber - 1; return(tileExtent); }