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
    }

  • 相关阅读:
    IDEA配置GIT
    夜游神安卓模拟器安装
    jira中使用eazyBI
    [Google Guava]学习--新集合类型Multimap
    [Google Guava]学习--新集合类型Multiset
    Java自己实现双向链表LinkList
    JVM学习之jstat使用方法
    Mycat+Mysql 插入数据报错 i[Err] 1064
    Windows配置mycat
    navicat cannot create file 文件名、目录名或卷标语法不正确 解决方法
  • 原文地址:https://www.cnblogs.com/gispathfinder/p/5936987.html
Copyright © 2011-2022 走看看