Example #1
0
 private static Extent TileToWorldNormal(TileRange range, string levelId, ITileSchema schema)
 {
     var resolution = schema.Resolutions[levelId];
     var tileWorldUnits = resolution.UnitsPerPixel * schema.GetTileWidth(levelId);
     var minX = range.FirstCol * tileWorldUnits + schema.GetOriginX(levelId);
     var minY = range.FirstRow * tileWorldUnits + schema.GetOriginY(levelId);
     var maxX = (range.FirstCol + range.ColCount) * tileWorldUnits + schema.GetOriginX(levelId);
     var maxY = (range.FirstRow + range.RowCount) * tileWorldUnits + schema.GetOriginY(levelId);
     return new Extent(minX, minY, maxX, maxY);
 }
Example #2
0
 private static TileRange WorldToTileNormal(Extent extent, string levelId, ITileSchema schema)
 {
     var resolution = schema.Resolutions[levelId];
     var tileWorldUnits = resolution.UnitsPerPixel * schema.GetTileWidth(levelId);
     var firstCol = (int)Math.Floor((extent.MinX - schema.GetOriginX(levelId)) / tileWorldUnits);
     var firstRow = (int)Math.Floor((extent.MinY - schema.GetOriginY(levelId)) / tileWorldUnits);
     var lastCol = (int)Math.Ceiling((extent.MaxX - schema.GetOriginX(levelId)) / tileWorldUnits);
     var lastRow = (int)Math.Ceiling((extent.MaxY - schema.GetOriginY(levelId)) / tileWorldUnits);
     return new TileRange(firstCol, firstRow, lastCol - firstCol, lastRow - firstRow);
 }
        private static TileRange WorldToTileInvertedY(Extent extent, string levelId, ITileSchema schema)
        {
            var resolution     = schema.Resolutions[levelId];
            var tileWorldUnits = resolution.UnitsPerPixel * schema.GetTileWidth(levelId);
            var firstCol       = (int)Math.Floor((extent.MinX - schema.GetOriginX(levelId)) / tileWorldUnits + Tolerance);
            var firstRow       = (int)Math.Floor((-extent.MaxY + schema.GetOriginY(levelId)) / tileWorldUnits + Tolerance);
            var lastCol        = (int)Math.Ceiling((extent.MaxX - schema.GetOriginX(levelId)) / tileWorldUnits - Tolerance);
            var lastRow        = (int)Math.Ceiling((-extent.MinY + schema.GetOriginY(levelId)) / tileWorldUnits - Tolerance);

            return(new TileRange(firstCol, firstRow, lastCol - firstCol, lastRow - firstRow));
        }
Example #4
0
        public static TileRange WorldToTileNormal(Extent extent, string levelId, ITileSchema schema)
        {
            var resolution     = schema.Resolutions[levelId];
            var tileWorldUnits = resolution.UnitsPerPixel * schema.GetTileWidth(levelId);
            var firstCol       = (int)Math.Floor((extent.MinX - schema.GetOriginX(levelId)) / tileWorldUnits);
            var firstRow       = (int)Math.Floor((extent.MinY - schema.GetOriginY(levelId)) / tileWorldUnits);
            var lastCol        = (int)Math.Ceiling((extent.MaxX - schema.GetOriginX(levelId)) / tileWorldUnits);
            var lastRow        = (int)Math.Ceiling((extent.MaxY - schema.GetOriginY(levelId)) / tileWorldUnits);

            return(new TileRange(firstCol, firstRow, lastCol - firstCol, lastRow - firstRow));
        }
Example #5
0
        private static Extent TileToWorldInvertedY(TileRange range, int level, ITileSchema schema)
        {
            var resolution           = schema.Resolutions[level];
            var tileWidthWorldUnits  = resolution.UnitsPerPixel * schema.GetTileWidth(level);
            var tileHeightWorldUnits = resolution.UnitsPerPixel * schema.GetTileHeight(level);
            var minX = range.FirstCol * tileWidthWorldUnits + schema.GetOriginX(level);
            var minY = -(range.FirstRow + range.RowCount) * tileHeightWorldUnits + schema.GetOriginY(level);
            var maxX = (range.FirstCol + range.ColCount) * tileWidthWorldUnits + schema.GetOriginX(level);
            var maxY = -(range.FirstRow) * tileHeightWorldUnits + schema.GetOriginY(level);

            return(new Extent(minX, minY, maxX, maxY));
        }
Example #6
0
        private static TileRange WorldToTileNormal(Extent extent, int level, ITileSchema schema)
        {
            var resolution = schema.Resolutions[level];

            var tileWidthWorldUnits  = resolution.UnitsPerPixel * schema.GetTileWidth(level);
            var tileHeightWorldUnits = resolution.UnitsPerPixel * schema.GetTileHeight(level);
            var firstCol             = (int)Math.Floor((extent.MinX - schema.GetOriginX(level)) / tileWidthWorldUnits + Tolerance);
            var firstRow             = (int)Math.Floor((extent.MinY - schema.GetOriginY(level)) / tileHeightWorldUnits + Tolerance);
            var lastCol = (int)Math.Ceiling((extent.MaxX - schema.GetOriginX(level)) / tileWidthWorldUnits - Tolerance);
            var lastRow = (int)Math.Ceiling((extent.MaxY - schema.GetOriginY(level)) / tileHeightWorldUnits - Tolerance);

            return(new TileRange(firstCol, firstRow, lastCol - firstCol, lastRow - firstRow));
        }
        private static Extent TileToWorldNormal(TileRange range, string levelId, ITileSchema schema)
        {
            var resolution     = schema.Resolutions[levelId];
            var tileWorldUnits = resolution.UnitsPerPixel * schema.GetTileWidth(levelId);
            var minX           = range.FirstCol * tileWorldUnits + schema.GetOriginX(levelId);
            var minY           = range.FirstRow * tileWorldUnits + schema.GetOriginY(levelId);
            var maxX           = (range.FirstCol + range.ColCount) * tileWorldUnits + schema.GetOriginX(levelId);
            var maxY           = (range.FirstRow + range.RowCount) * tileWorldUnits + schema.GetOriginY(levelId);

            return(new Extent(minX, minY, maxX, maxY));
        }
 private void SafeSchema(ITileSchema schema)
 {
     _axis        = schema.YAxis;
     _minX        = schema.Extent.MinX;
     _maxX        = schema.Extent.MaxX;
     _minY        = schema.Extent.MinY;
     _maxY        = schema.Extent.MaxY;
     _format      = schema.Format;
     _height      = schema.GetTileHeight(String.Empty);
     _width       = schema.GetTileWidth(String.Empty);
     _schemaName  = schema.Name;
     _originX     = schema.GetOriginX(String.Empty);
     _originY     = schema.GetOriginY(String.Empty);
     _srs         = schema.Srs;
     _resolutions = new Dictionary <string, Resolution>();
     foreach (var resolution in schema.Resolutions)
     {
         _resolutions.Add(resolution.Key, resolution.Value);
     }
 }
 private void SafeSchema(ITileSchema schema)
 {
     _axis = schema.YAxis;
     _minX = schema.Extent.MinX;
     _maxX = schema.Extent.MaxX;
     _minY = schema.Extent.MinY;
     _maxY = schema.Extent.MaxY;
     _format = schema.Format;
     _height = schema.GetTileHeight(String.Empty);
     _width = schema.GetTileWidth(String.Empty);
     _schemaName = schema.Name;
     _originX = schema.GetOriginX(String.Empty);
     _originY = schema.GetOriginY(String.Empty);
     _srs = schema.Srs;
     _resolutions = new Dictionary<string, Resolution>();
     foreach (var resolution in schema.Resolutions)
         _resolutions.Add(resolution.Key, resolution.Value);
 }