/// <summary> /// Generate BruTile TileSchema based on ArcGIS Capabilities /// </summary> /// <returns>TileSchema, returns null if service is not tiled</returns> 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); }
/// <summary> /// Generate BruTile TileSchema based on ArcGIS Capabilities /// </summary> /// <returns>TileSchema, returns null if service is not tiled</returns> 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 { Id = levelId, UnitsPerPixel = lod.resolution }; count++; } schema.Height = arcGisDynamicCapabilities.tileInfo.cols; schema.Width = arcGisDynamicCapabilities.tileInfo.rows; 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.Axis = AxisDirection.InvertedY; schema.Srs = string.Format("EPSG:{0}", arcGisDynamicCapabilities.tileInfo.spatialReference.wkid); return(schema); }