public void SetRenderTransform(MapProjection projection)
        {
            // tile grid origin in pixels
            //
            var tileGridOrigin = new Point(TileMatrix.TileWidth * XMin, TileMatrix.TileHeight * YMin);

            ((MatrixTransform)RenderTransform).Matrix =
                projection.CreateTileLayerTransform(TileMatrix.Scale, TileMatrix.TopLeft, tileGridOrigin);
        }