MapGuide地图缓存TileCache组织方式讲解

此TileCache非彼Py TileCache,而是MapGuide OS/E自带地图缓存”名称”。

现在成熟的地图平台均不同程度上支持瓦片生成方式,而且每个WebGIS产品均有各自不同的瓦片(Tile)组织方式。MapGuide OS/E 的和Bing Map、Google Map、TMS的组织方式有很大不同,如果可以知道存储方式就可以自己实现MapGuide Provider,部署地图时则不需要安装MapGuide OS/E。现分析下以供有缘人使用。

       public override Uri GetUri(int x, int y, int zoomLevel)
        {//适用于MS Silverlight mapControl,xy为行列号,zoomLevel为当前地图比例级别
            string tileRowGroup = “”;
            string tileColGroup = “”;
            if (x >= 0 && y >= 0 )
            {
                tileRowGroup += (Math.Floor(x/tileRowsPerFolder) * tileRowsPerFolder).ToString();//tileRowsPerFolder=30
                tileColGroup += (Math.Floor(y / tileColumnsPerFolder) * tileColumnsPerFolder).ToString();
                string tilePath = “/S” + Math.Floor(zoomLevel)
                + “/” + basemaplayergroupname
                + “/R” + tileRowGroup
                + “/C” + tileColGroup
                + “/” + (x % tileRowsPerFolder)
                + “_” + (y % tileColumnsPerFolder)
                +”.” + this.format;//png
                return new Uri(this.url + tilePath);
            }
            return null;
        }

你可能感兴趣的:(MapGuide地图缓存TileCache组织方式讲解)