Mapsui.Providers.ArcGIS.CapabilitiesHelper.GetTileSchema C# (CSharp) Method

GetTileSchema() public static method

Generate BruTile TileSchema based on ArcGIS Capabilities
public static GetTileSchema ( ArcGISDynamicCapabilities arcGisDynamicCapabilities ) : ITileSchema
arcGisDynamicCapabilities Mapsui.Providers.ArcGIS.Dynamic.ArcGISDynamicCapabilities
return ITileSchema
        public static ITileSchema GetTileSchema(ArcGISDynamicCapabilities arcGisDynamicCapabilities)
        {
            //TODO: Does this belong in Mapsui.Providers?

            if (arcGisDynamicCapabilities.tileInfo == null)
                return null;

            var schema = new TileSchema();
            var count = 0;

            foreach (var lod in arcGisDynamicCapabilities.tileInfo.lods)
            {
                var levelId = count.ToString();
                schema.Resolutions[levelId] = new Resolution (levelId, lod.resolution,
                    arcGisDynamicCapabilities.tileInfo.cols,
                    arcGisDynamicCapabilities.tileInfo.rows);
                count++;
            }

            schema.Extent = new BruTile.Extent(arcGisDynamicCapabilities.fullExtent.xmin, arcGisDynamicCapabilities.fullExtent.ymin, arcGisDynamicCapabilities.fullExtent.xmax, arcGisDynamicCapabilities.fullExtent.ymax);
            schema.OriginX = arcGisDynamicCapabilities.tileInfo.origin.x;
            schema.OriginY = arcGisDynamicCapabilities.tileInfo.origin.y;

            schema.Name = "ESRI";
            schema.Format = arcGisDynamicCapabilities.tileInfo.format;
            schema.YAxis = YAxis.OSM;
            schema.Srs = $"EPSG:{arcGisDynamicCapabilities.tileInfo.spatialReference.wkid}";

            return schema;
        }