zoukankan      html  css  js  c++  java
  • ArcGIS Server的Tile的松散型存储(Exploded)

    protected override void GetTileSource(int level, int row, int col, Action<System.Windows.Media.ImageSource> onComplete)
    {
     string f = string.Empty;
     if (_cacheTileFormat.ToLower().Contains("png"))
      f = ".png";
     else if (_cacheTileFormat.ToLower().Contains("jpeg") || _cacheTileFormat.ToLower().Contains("jpg"))
      f = ".jpg";
     else
      throw new Exception("切片格式不明:" + _cacheTileFormat);
     #region Exploded读取
     if (_storageFormat == StorageFormat.esriMapCacheStorageModeExploded)
     {
      string baseUrl = _path;// "/WP_LocalCacheReader;component/Assets/usa_exploded/"
      baseUrl += @"/_alllayers";
      string l = "L";
      l = level.ToString().PadLeft(2, '0');
      string r = "R";
      r = String.Format("{0:X}", row).PadLeft(8, '0'); //{0:X} 表示十六进制
      string c = "C";
      c = String.Format("{0:X}", col).PadLeft(8, '0');
      string str = baseUrl
      + @"/L" + l
      + @"/R" + r
      + @"/C" + c + f;
      BitmapImage img = new BitmapImage(new Uri(str,UriKind.RelativeOrAbsolute))
      {
       CreateOptions = BitmapCreateOptions.DelayCreation
      };
      img.ImageFailed += (s, a) =>
      {
       string uri = _path + "/missing" + _tileRows.ToString() + f;
       BitmapImage image = new BitmapImage(new Uri(uri, UriKind.RelativeOrAbsolute))
       {
        CreateOptions = BitmapCreateOptions.DelayCreation
       };
       onComplete(image);
       return;
      };
      onComplete(img);
     }
     #endregion
    }

  • 相关阅读:
    linux中的中断处理框架
    linux中的异常处理流程
    如何使用次设备号控制多个LED
    装载内核模块时,自动添加设备文件
    第一个字符设备驱动程序
    网络文件系统
    点击全选或全不选,一个页面有多个全选和全不选的时候
    ubuntu 20.04 遇到的问题
    Ubuntu20.04 初始没有的东西
    Ubuntu 20 安装pycharm备忘
  • 原文地址:https://www.cnblogs.com/gispathfinder/p/5936987.html
Copyright © 2011-2022 走看看