发布和使用 ArcGIS Server 服务之--切片服务(TileServer缓存服务)(一)

发布和使用 ArcGIS Server 服务之---切片服务(TileServer缓存服务)

  • 1、什么是缓存服务?
    • 1.1 什么是地图服务缓存?
      • 1.1.1 地图缓存和影像服务缓存
        • 1.1.1.1什么是地图服务缓存?
        • 1.1.1.2 什么是影像服务缓存?
      • 1.1.2 我是否可以缓存所有地图?
        • 1.1.2.1 我的地图需要有多新?
        • 1.1.2.2 缓存有多大,数据的更改范围有多广?
      • 1.1.3 我是否仍然可以访问基础数据?
      • 1.1.4怎样开始缓存?
    • 1.2 缓存服务的数据源
    • 1.3 矢量切片与栅格切片区别?
      • 1.3.1 切片图层
      • 1.3.2 矢量切片图层(矢量切片服务)
      • 1.3.3 栅格切片图层
    • 1.4 (切片/瓦片/缓存)与动态之简单理解
    • 1.5 缓存服务的优缺点?
      • 1.5.1 切片地图服务优点
      • 1.5.2 切片地图服务缺点
  • 2、缓存服务的相关参数简要介绍
    • 2.1 什么是切片方案?
      • 2.1.1 ArcGIS Online/Bing Maps/Google Maps
      • 2.1.2 切片方案文件
      • 2.1.3 现有的缓存地图/图像服务
      • 2.1.4 建议
    • 2.2 缓存方式
    • 2.3 要缓存的感兴趣区
    • 2.4 缓存目录
    • 2.5 切片格式
    • 2.6 其他高级设置
      • 2.6.1 切片原点(地图单位)
      • 2.6.2 切片高度和切片宽度
      • 2.6.3 缓存服务的存储格式
      • 2.6.4 允许客户端本地缓存切片
      • 2.6.5 允许客户端导出缓存切片
  • 3、发布缓存服务
  • 4、ArcGIS API for JavaScript调用缓存服务(TileServer)

本篇我将和大家介绍ArcGIS Server如何以缓存的方式发布地图,其中将对动态地图服务和切片地图服务(缓存地图服务)的区别进行简要介绍; 针对缓存服务(TileServer)我将从两篇文章进行梳理;希望对大家的工作和学习有所帮助 !

第一篇也即是本篇文章,我将从缓存服务的定义,参数简介和如何发布进行介绍;
第二篇将从缓存的管理和迁移角度进行梳理,也是接下来要完成的工作;

大家常见的有:
地图服务:发布和使用ArcGIS Server 服务之–地图服务(Mapserver)
要素服务:发布和使用 ArcGIS Server 服务之–要素服务(feature server)
影像服务:发布和使用 ArcGIS Server 服务之–影像服务(image server)
OGC 服务:发布和使用 ArcGIS Server 服务之–OGC服务(WMS/WMTS/WFS/WCS/WPS)
缓存服务:发布和使用 ArcGIS Server 服务之–缓存服务(TileServer)(一)
缓存服务:管理和迁移ArcGIS Server服务和缓存服务(TileServer)(二)
地理处理服务、矢量切片服务、场景服务
、地理数据服务、以及几何服务、KML 服务、地理编码服务、定位器Maritime Server、路径服务、Schematics 服务、流服务、公共设施网络服务、Workflow Manager 服务等;

1、什么是缓存服务?

1.1 什么是地图服务缓存?

1.1.1 地图缓存和影像服务缓存

1.1.1.1什么是地图服务缓存?

地图缓存是使地图和图像服务更快运行的一种方法。创建地图缓存时,服务器会在若干个比例级别上绘制地图并存储地图图像的副本。然后,服务器可在某人请求使用地图时分发这些图像。对于服务器来说,每次请求使用地图时,返回缓存的图像要比绘制地图快得多。缓存的另一个好处是:图像的详细程度不会对服务器分发副本的速度造成显著影响。
发布和使用 ArcGIS Server 服务之--切片服务(TileServer缓存服务)(一)_第1张图片

1.1.1.2 什么是影像服务缓存?

影像服务缓存可改善客户端应用程序中影像服务的性能。对影像服务进行缓存时,服务器会在不同级别上预先生成切片,在这种情况下,获取这些切片的速度要比每次从 ArcGIS Server 发出请求时处理镶嵌数据集或栅格数据集的输入数据的速度更快。影像服务缓存的一个重要方面是:它不提供动态处理的影像,而是先对影像进行预处理来创建缓存切片,然后提供这些缓存切片。

对影像服务进行缓存时,您最终会得到一个具有双重用途的影像服务,并且可根据其用途来进行访问。一种用途是以切片服务形式提供对影像的最快访问。另一种用途是提供对数据的访问,以用于查询、下载、访问各个项并在处理和分析中使用。

注:
所有影像缓存都以 8 位数据形式存储。
关于栅格数据的位深度,参考:arcgis如何将16bit栅格数据转换为8bit栅格数据

当然我们也是可以将地图服务缓存转换成影像服务缓存
为地图服务生成的缓存可用于影像服务,反之亦然。要执行此操作,有两条基本要求:

  • 地图文档和镶嵌数据集或栅格数据集应具有相同的投影和范围。
  • 切片方案必须相似。例如,要复制的切片必须相同,但其他切片可以不同。

注:而我们常见的影响缓存服务即是:高程影像缓存服务

1.1.2 我是否可以缓存所有地图?

在知道地图缓存后,你可能会问缓存服务的适用条件和范围是什么呢?

缓存适用于不经常更改的底图和地图。对于偶尔更改的地图,可通过工具来更新缓存。

地图缓存代表着某个时刻点的地图快照。正因如此,缓存非常适用于不经常变化的地图。这些地图包括街道图、影像图和地形图。
如果数据经常变化,您仍然可以使用缓存工具来定期更新缓存。您可以将更新设置为自动进行。

要了解经常变化的地图是否仍然可以进行缓存,需要弄清以下问题:

1.1.2.1 我的地图需要有多新?

如果您所看到的数据需要是实时数据,不接受任何时间延迟,则不适宜于对地图进行缓存。但是,如果可以接受较短时间的延迟并且可以在这段时间窗内进行缓存更新,则仍然可以使用缓存。

1.1.2.2 缓存有多大,数据的更改范围有多广?

这两个问题可以归为一类。创建大缓存往往需要更多的时间。仅当可隔离出变化的区域并且可单独更新这些区域时,更新大缓存才具有实际意义。如果缓存较小,则可以快速地重新构建整个缓存。

如果更新不能在一个可接受的时间段内赶上变化的步伐,则不适于对地图进行缓存。

考虑了上述问题之后,即可在适当的时候使用缓存。您所获得的性能好处很可能要大于创建和更新缓存所付出的投入,因此是非常值得的。

总结:
从上面的描述,我们能够看出,地图缓存服务其实质上,就是在时间序列中某一个时间点按比例级别将其进行切片,然后发布成缓存服务的一种地图快照; 实质上每个比例级别下放置的是数据的图片,无法进行访问其矢量数据的几何和属性信息,所以衍生出:矢量切片服务
关于更新缓存则需要根据自己数据的变化特征的快慢而定;

1.1.3 我是否仍然可以访问基础数据?

尽管地图缓存代表的是数据图片,您仍然可以允许其他人在您的地图服务上执行识别、搜索和查询操作。这些工具可以从服务器获取要素的地理位置并返回相应的结果。
应用程序会在缓存图像之上以其本地图形图层格式绘制这些结果。

也就是说,我们在使用ArcGIS API for JavaScripts利用TileLyer调用缓存服务进行查询,搜索、识别等功能的时候;其是在地图快照显示的上面绘制这些结果;

当然并不仅仅只是ArcGIS API for JavaScripts可以使用缓存服务; REST API 可以由任何可调用 Web 服务的语言(如 Python、Java、JavaScript、PowerShell、C#、Ruby、Scala、Perl 以及其他语言)进行调用。

1.1.4怎样开始缓存?

要开始缓存,首先必须发布地图或影像服务
发布和使用 ArcGIS Server 服务之--切片服务(TileServer缓存服务)(一)_第2张图片

当发布服务或显示服务属性时,ArcMap 的目录 窗口中会显示“缓存”选项卡:
在发布过程中,您需要设置服务编辑器对话框上的属性。您可在此处定义缓存的比例和范围。

在服务编辑器对话框上的缓存选项卡中,您可指定服务应使用缓存,从而配置所需要的设置参数,如服务的切片方案。在高级设置子选项卡上,还可选择其他选项,如图像格式以及是否配置按需缓存。接下来我们一起看看;

1.2 缓存服务的数据源

缓存服务是地图服务的(mapserver)一种,其数据源也是mapserver支持的数据源:
具体参考:发布和使用ArcGIS Server 服务之–地图服务(Mapserver)的 1.1地图服务的数据源和支持方式

1.3 矢量切片与栅格切片区别?

1.3.1 切片图层

在做自己应用程序的时候,常常需要对业务图层提供即时地理环境的各种底图。 那么为什么底图存储为切片图层,其旨在让用户可以通过 Web 地图、Web 应用程序,以及几乎任何制图软件应用程序简单快捷进行访问。

例如,可包含一个具有您所在社区的街道切片的底图,以便为要素图层中的街道符号提供图形参考。 当需要导出 web 上的地图或图层以用于可视化相对静态的数据时也需要切片图层。

根据原始源数据,切片图层具有不同的格式。 切片图层可以存储为预渲染的栅格切片或矢量切片栅格切片和矢量切片旨在提供具有高性能和高可扩展性的地图数据,以便进行可视化。

1.3.2 矢量切片图层(矢量切片服务)

矢量切片是一种利用协议缓冲(Protocal Buffers)技术的紧凑的二进制格式用来传递信息。当渲染地图时矢量切片使用一系列存储的内部数据进行制图。被组织到矢量切片的图层比如(水、道路、区域等),每一层都有包含几何图形和可变属性的独立要素。通俗地讲,就是将矢量数据以建立金字塔的方式,像栅格切片那样分割成一个个描述性文件,以GeoJson格式或者PDF等自定义格式组织,然后在前端根据显示需要按需请求不同的矢量瓦片数据进行Web绘图

矢量切片服务是一种 ArcGIS Server Web 服务,该服务来自 ArcGIS Pro 中的矢量切片包。矢量切片服务(也称为矢量切片图层)使您能够共享和使用 ArcGIS Enterprise 组织和自定义应用程序中的矢量切片。

矢量切片图层引用一组 web 可用的矢量切片以及这些切片应被绘制的相应样式。 矢量切片与栅格切片类似,但是它们存储数据的矢量表示。也就是说,地理要素以客户端应用程序可理解的格式表示为点、线和面。 不同于栅格切片图层,矢量切片图层能够适应显示设备的分辨率,并且可以改变样式以用于多种用途。 矢量切片文件比栅格切片文件更小,这意味着制图更快、性能更好。

在 Map Viewer 中,您可以自定义矢量切片图层的样式和地图的内容。 矢量切片图层的其他优点如下:

您可以使用一组矢量切片生成许多不同的地图样式。 例如,您可以更改矢量切片图层上标注的符号、字体或语言,而不必重新生成切片。
矢量切片图层在高分辨率显示器上(例如视网膜设备)的显示效果要优于栅格切片。 在 ArcGIS Pro 等桌面应用程序中,可以以任何比例级别显示矢量切片,同时保证符号系统和标注清晰可见。
矢量切片比相应栅格切片的尺寸小很多。 因此,其构建时间更短,存储所需的磁盘空间也更少。
桌面应用程序(例如 ArcGIS Pro)可以将矢量切片图层投影到各种坐标系中,而不会造成标注和其他符号变形。

1.3.3 栅格切片图层

栅格切片图层将底图作为图像文件(例如,JPG 或 PNG 格式)交付给客户端应用程序,这些图像文件已经预渲染并存储在服务器上,并由客户端按原样显示。 栅格切片图层最适合于为您的地图提供地理环境的底图,例如影像(比如在世界影像底图中)或基于要素的地图,例如地形、国家地理、海洋和其他底图。 栅格切片图层也可以由静态业务图层组成,例如数据的专题地图。

切片图层格式可通过 Internet 快速传输,并且很容易为大多数常见的地图软件应用程序所理解,因此这些底图不仅与 ArcGIS 和使用 ArcGIS API 构建的 Web 应用程序兼容,还与使用 OGC 协议(例如 WMS/WMTS)的第三方应用程序兼容。

1.4 (切片/瓦片/缓存)与动态之简单理解

动态和缓存的区别是什么?

地图切片:采用预生成的方法存放在服务器端,然后根据用户提交的不同请求,把相应的地图瓦片发送给客户端的过程,它是一种多分辨率层次模型,从瓦片金字塔底层到顶层,分辨率越来越低,但表示的地理范围不变。

地图缓存:又称地图瓦片,是一个包含了不同比例尺下整个地图范围的地图切片的目录,即一个缓存的地图服务就是能够利用静态图片来快速地提供地图的服务。

我们普通发布的地图服务(mapserver),在前端显示的时候,就是随着手标的放大缩小进行实时动态绘制的; 而地图服务(mapserver)也就是一种动态地图服务;
发布和使用 ArcGIS Server 服务之--切片服务(TileServer缓存服务)(一)_第3张图片

那么缓存服务(TileServer)也即是,事先把服务以在server上缓存好,然后前端进行调用的一种服务; 也即是大家说的切片服务; 好多我们常见的瓦片服务其实质上也即是缓存服务;

1.5 缓存服务的优缺点?

1.5.1 切片地图服务优点

由于切片地图服务中的图片不需要服务器实时生成,本身存在服务器的硬盘上,所以大大提高了服务器的性能。

图像的详细程度不会对服务器分发副本的速度造成显著影响。

1.5.2 切片地图服务缺点

切片地图服务由于图片事先存在,所以该服务实现的功能有限,例如想隐藏服务中的某一个图层不可以实现。

当缓存级别较高时,占用的硬盘存储量较大;

2、缓存服务的相关参数简要介绍

2.1 什么是切片方案?

切片方案包括缓存的比例级别、切片尺寸和切片原点。这些属性定义了缓存边界的存在位置,而且在某些客户端中叠加缓存时对于匹配操作十分重要。

有多个选项可选择用于切片方案:
发布和使用 ArcGIS Server 服务之--切片服务(TileServer缓存服务)(一)_第4张图片

发布和使用 ArcGIS Server 服务之--切片服务(TileServer缓存服务)(一)_第5张图片

2.1.1 ArcGIS Online/Bing Maps/Google Maps

选择 ArcGIS Online/Bing 地图/Google 地图使您可以将来自这些在线地图服务的切片叠加在缓存切片之上。ArcGIS 对源地图进行动态投影,投影至此切片方案需要的坐标系中,即 WGS 1984 Web Mercator (Auxiliary Sphere)。如果想要增强创建切片时的性能,那么可在发布服务之前将数据和数据框投影到此坐标系中。

如果要使用 ArcGIS Online、Bing Maps 或 Google Maps 中的地图覆盖缓存,则需要使用 ArcGIS Online/Bing Maps/Google Maps 切片方案。ArcGIS Online 叠加实际上可在所有最新的 Esri 客户端应用程序中实现。Bing Maps 叠加可在 Map Viewer 以及很多 ArcGIS Web 查看器和 API 中实现。Google Maps 叠加可通过 Google Maps API 的 ArcGIS API for JavaScript 扩展名实现。

ArcGIS Online/Bing Maps/Google Maps 地图切片方案的优势在于它在 Web 地图领域内广为熟知,所以您的切片将与其他使用此切片方案的组织的切片相一致。即使您不打算叠加这些广为熟知的地图服务,仍然可以选择此切片方案以便于互操作。

ArcGIS Online/Bing Maps/Google Maps 切片方案可能包含过度放大以至于无法在地图中使用的比例。在大比例下进行缓存相当耗时,且会占用大量磁盘存储空间。例如,切片方案中的最大比例约为 1:1,000。在此比例下缓存整个美国大陆可能将耗费数周时间并需要数百 GB 的存储空间。如果尚未准备好在此比例级别下进行缓存,可在细节层次范围中将其删除。

警告:
相对于删除切片方案中的比例,选择不在该比例下创建切片效果更佳。如果从 ArcGIS Online/Bing Maps/Google Maps 地图切片方案中删除比例,则可能无法叠加该服务的切片。

2.1.2 切片方案文件

如果无法使用 ArcGIS Online/Bing Maps/Google Maps 切片方案中的比例或坐标系,则可以创建您自己的切片方案。使用服务器工具箱中的生成地图服务器缓存切片方案工具来生成 XML 切片方案文件。本主题稍后将介绍此工具对话框需要您提供的多项设置。无论何时创建缓存,您都可以浏览至此切片方案文件,从而导入所有您偏好的比例和设置。

旧版本:
在 10.0 及较低版本中,ArcGIS Online 使用基于 WGS 1984 地理坐标系(使用 512 x 512 像素切片)的切片方案。如果运行的服务需要使用此切片方案,必须从现有服务或切片方案文件中加载。

2.1.3 现有的缓存地图/图像服务

如果想要匹配现有的缓存服务切片方案,请选择此选项。系统将提示您浏览至该服务。

匹配的切片方案可确保切片在 Web 应用程序和其他混合 Web 应用程序中正确叠加。

如果选择此选项,源地图文档和用于导入切片方案的地图应使用相同的坐标系。

2.1.4 建议

选择此选项后,系统将提示您想要的比例级数,并推荐特定的比例值。建议的比例以 1:1,000,000 为下限,按 2 的乘方递增或递减,并将最接近于源地图文档范围的级别作为起始比例。

例如,如果源地图文档的范围是 1:121,000,000 并定义三个比例级别,系统将推荐以下比例值:

1:128,000,000
1:64,000,000
1:32,000,000
一般来说,应该将请求的建议比例数限制在 20 个或以下。如果地图的全图范围涵盖相对小的区域(例如城市),则可能无法获得请求数量的比例。可使用高级设置选项卡手动添加更多的比例。

熟悉缓存创建过程后,最好选择自定义比例级别,而不是要求软件为您建议比例。如果可能,应在开始设计地图之前就选择比例。这样,所设计的地图在各种比例下都会具有良好的显示效果。

2.2 缓存方式

ArcGIS Server 缓存服务分为创建服务时同时自动建立缓存和创建服务后手动建立缓存两种。
发布和使用 ArcGIS Server 服务之--切片服务(TileServer缓存服务)(一)_第6张图片

可在发布服务时立即创建切片(适用于较小的缓存),也可选择在发布后自行构建缓存(适用于较大的缓存,在这种情况下,您希望在地理上限制按大比例构建的缓存的数量)。自行构建缓存时,将使用“服务器工具”工具箱中提供的管理地图服务器缓存切片地理处理工具执行缓存的构建。

2.3 要缓存的感兴趣区

如果在发布服务时选择 ArcGIS 自动构建缓存,该设置会确定地图的哪些区域将会创建切片。选项如下:
发布和使用 ArcGIS Server 服务之--切片服务(TileServer缓存服务)(一)_第7张图片

地图的全图范围 - 该选项缓存地图中所有数据的整个边界框。这是默认选项。将应用在 ArcMap 中通过数据框属性设置的自定义全图。
地图的当前范围 - 该选项缓存当前发布的地图文档的范围;也就是说,地图服务的初始范围。
从要素类导入 - 该选项用于仅缓存与所选要素类中的要素边界相交的区域。例如,如果想将切片的创建仅限制在覆盖加利福尼亚州的区域内,可浏览至包含加利福尼亚州边界的简单要素类。
当缓存较大或感兴趣区不是矩形时,建议使用导入要素类选项。有关为此准备并选择要素类的提示,请参阅基于要素边界的地图缓存。

您在此处设置的感兴趣区仅适用于在发布时自动生成的缓存。该区域始终会由您在手动运行管理地图服务器缓存切片工具时所设置的感兴趣区域覆盖。如果没有使用管理地图服务器缓存切片工具明确设置感兴趣区,则将缓存地图的全图。

2.4 缓存目录

ArcGIS Server 缓存目录可以是存储缓存切片的硬盘或云存储中的文件夹。

可打开服务器缓存目录以检查缓存切片和切片方案文件 conf.xml。缓存目录也可能包含 status.gdb 文件地理数据库,该数据库包含已构建的切片的信息。

下图显示了 Windows 资源管理器中的松散格式的缓存,此缓存中每个切片都存储为单个文件。

而对于紧凑格式的缓存,其表现为多个存储了大量切片的较大文件(称为束)。

2.5 切片格式

此设置决定地图服务在创建切片时要使用的输出图像格式。选择图像格式十分重要,因为它将确定切片在磁盘上的大小、图像质量以及能否使切片背景透明。
发布和使用 ArcGIS Server 服务之--切片服务(TileServer缓存服务)(一)_第8张图片

在初始化新缓存时,ArcGIS 检查地图中的图层,并为您选择默认图像格式。如果地图仅包含矢量图层,则默认图像格式为 PNG。如果至少检测到一个栅格图层,则默认图像格式为 MIXED。

应检查此默认格式,并确定它是否可以达到您绘制地图的目的。以下为可用图像格式及其相应用途的摘要:

PNG - 对于每个切片,此格式确定将尽量降低切片存储空间而不降低显示效果的 PNG 位深度。这适用于很多矢量地图,尤其是颜色种类较少的地图、单色条带较多的地图或者叠加网络。如果不确定使用哪种 PNG 格式,请首先尝试此格式。
PNG8 - PNG 8 用于需要具有透明背景的叠加服务,例如道路和边界。PNG 8 可在磁盘上创建非常小的切片且不损失任何信息。
当地图使用了抗锯齿功能时,采用 PNG 或 PNG 32 而非 PNG 8 将会看到较高质量的线和标注。如果由于渐变填充或山体阴影而导致地图包含大量颜色,可能还需要采用 PNG 或 PNG 32。

PNG24 - 可将 PNG 24 用于超过 256 种颜色(如果少于 256 种颜色,使用 PNG 8)的叠加服务,例如道路和边界。如果将在 Internet Explorer 6 或更早版本中查看切片,请勿使用 PNG 24。
PNG32 - PNG 32 用于超过 256 种颜色的叠加服务,例如道路和边界。PNG 32 特别适用于对线或文本启用了抗锯齿的叠加服务。PNG 32 在磁盘上创建的切片比 PNG 24 大,但所有浏览器都完全支持这种切片。
JPEG - 此格式用于颜色变化较大且不需要透明背景的底图服务。例如,栅格图像和非常详细的矢量底图特别适合使用 JPEG。
JPEG 为有损图像格式。在不影响图像显示效果的情况下,它会尝试有选择地删除数据。这会在磁盘上产生很小的切片,但如果地图包含矢量线作业或标注,它可能会在线周围生成过多的噪声或模糊区域。如果发生这种情况,可尝试将压缩值从默认的 75 增加到更大的值。更高的值(如 90)可以生成可接受的线作业质量,同时还可保证 JPEG 格式的小切片。

您可确定可接受的影像质量。如果愿意接受影像中存在少量噪声,选择 JPEG 可节省大量的磁盘空间。更小的切片同样意味着浏览器可更快地下载切片。

MIXED(混合) - 混合缓存在缓存中心使用 JPEG,同时在缓存边缘使用 PNG 32。如果要在其他图层上完全叠加栅格缓存,应使用混合模式。
创建混合缓存时,在检测到透明度的任何位置(也就是数据框背景可见的位置)都会创建 PNG 32 切片。其余切片使用 JPEG 构建。这可降低平均文件大小,同时可在其他缓存上进行完全叠加。如果在这种情况下不使用混合模式缓存,将在图像叠加其他缓存的外围看到不透明的凸边。

LERC - 有限错误栅格压缩 (LERC) 是一种高效的有损压缩方法,建议用于较大像素深度的单波段或高程数据(如浮点型、32 位、16 位或 12 位数据)。对于浮点数据而言,LERC 比 LZ77 的压缩效果好 5 到 10 倍,压缩速度快 5 到 10 倍。对于整型数据,LERC 也优于 LZ77。使用整型数据并且指定的错误限制为 0.99 或更低时,LERC 被视为无损压缩。
注:
LERC 仅适用于影像服务;不支持地图服务。

3D 视图中广泛使用高程数据或表面来表示地面,例如 terrain 模型。您可以使用不表示地面的表面,例如位于地表上方的臭氧图层或位于地表下方的地质基层。如果使用 LERC 压缩方法处理不在地平面上的表面,则强烈建议发布含所有细节层次的数据。这将确保在查看数据时不会缩小到最粗糙分辨率以下,否则,将停止对内容进行渲染。然而,对参与地表的高程内容来说,这并不重要,因为表面可用于填充可能存在的任何空隙。

如果选择 LERC,则使用压缩对话框指定压缩值。压缩代表适用于每个像素的最大容差错误值(并非图像的平均值)。该值以镶嵌数据集的单位指定。例如,如果误差为 10 厘米而镶嵌数据集的单位为米,则输入 0.1。
如果源数据在特定的比例上不受支持,或者概视图不存在,则基于 LERC 的缓存服务不会为了进行绘制而执行重采样。此外,基于 LERC 的缓存服务还将包含一个列出服务是否包含高程数据的属性文件。在绘制全部范围的 3D 场景时,基于 LERC 的缓存所使用的缓存切片大小应比标准 256 x 256 大半个像素。
LERC 格式使用非转换压缩算法,压缩值或最大错误允许值将在 0 到 1,000 的范围内变化。
提示:
可能需要更改默认图像格式的最常见情形是在构建使用抗锯齿功能的、仅基于矢量的底图时。在这种情况下,压缩质量较高的 JPEG 或 MIXED 格式比默认的 PNG 更适合,因为生成的切片在磁盘上要小很多。

确定大缓存的图像格式之前,先针对有代表性的地图区域构建一个较小的缓存并在测试应用程序中检查切片质量和性能。如果要使用多个缓存,构建每个缓存的测试缓存并将其添加到测试应用程序以确保它们按预期方式叠加。这使您有机会在创建整个缓存之前做出调整。

要创建一个小型测试缓存,请先使用 ArcMap 中的编辑工具创建一个包含待测试区域周围的小矩形的要素类。然后使用管理地图服务器缓存切片工具对话框底部的选项,基于要素类的边界创建切片。浏览至包含测试区域的要素类,然后创建切片。

2.6 其他高级设置

本部分介绍一些高级缓存设置,可通过服务编辑器的缓存 > 高级设置子选项卡中的高级按钮查看。仅当使用生成地图服务器缓存切片方案工具生成新的切片方案时,才可设置这些属性(切片原点、每英寸点数、切片宽度和切片高度)。
发布和使用 ArcGIS Server 服务之--切片服务(TileServer缓存服务)(一)_第9张图片

2.6.1 切片原点(地图单位)

切片方案原点是指切片方案格网的左上角。原点不一定代表创建切片的起始点;只有在达到地图全图范围或感兴趣区要素类时才是这样。进行缓存时使用公用切片方案原点可确保它们能够在 Web 应用程序中相互叠加。
发布和使用 ArcGIS Server 服务之--切片服务(TileServer缓存服务)(一)_第10张图片切片方案原点和切片方案格网图示

大多数情况下,应保持软件的默认切片方案原点。默认原点为地图文档定义的坐标参考的左上点。如果在地图文档中未定义坐标参考,则 ArcGIS 将通过计算缓存中所有图层的并集并将范围加倍来确定切片方案的原点。结果的左上坐标将成为切片方案的原点。

如果将切片方案原点更改到非默认位置,则应注意只能在切片方案原点右下方的地图区域中创建切片。如果只想缓存地图的某一区域,相对于更改切片方案原点,基于要素类边界创建切片是更好的选择。

每英寸点数(DPI)
每英寸点数 (DPI) 是指服务器将生成的缓存切片的分辨率。默认值 96 通常完全可满足需要,除非在您所工作的网络中,大多数客户端计算机都具有不同 DPI。请注意,调整 DPI 会影响切片的比例。

2.6.2 切片高度和切片宽度

切片的默认宽度和高度为 256 像素。建议使用 256 或 512。如果要构建的缓存将与另一缓存相叠加,应确保对两个缓存均使用相同的切片宽度和高度。

选择较小的切片宽度和高度可提高向缓存请求切片的应用程序的性能,因为需要传输的数据较少。但对于松散缓存,切片越小,缓存越大且创建时间越长。

2.6.3 缓存服务的存储格式

发布和使用 ArcGIS Server 服务之--切片服务(TileServer缓存服务)(一)_第11张图片

可选择将切片分组以获取更高的存储效率和移动性,或者以单个文件形式存储每个切片。以下为存储选项:

紧凑 - 在紧凑格式下,缓存中的每个文件都包含一包切片。每个包的宽度为 128 个切片,高为 128 个切片,最多包含 16,384 个切片。紧凑缓存的复制速度大大快于松散缓存,且所占用的磁盘空间更少。

松散 - 在松散格式下,每个切片都存储为磁盘上的一个文件。这便于查看缓存中的切片;但这会使生成的缓存较大从而耗费更多的时间来创建,并且不易于复制。

有时,缓存中数量巨大的文件和文件夹可能会使复制工具效率低下,包括 Windows 复制和粘贴。因此,紧凑缓存可极大地减少缓存复制时间。如果采用自动缓存更新工作流程,即在过渡服务器上创建切片后将其复制到生产服务器,建议使用紧凑缓存。此外,如果可用磁盘空间有限,也应使用紧凑缓存。

2.6.4 允许客户端本地缓存切片

如果选中此框,则将允许 ArcMap 等 Esri 客户端应用程序保留从服务器检索的任何切片的本地缓存。这可帮助客户端在返回到该区域时更加快速地查看切片。客户端必须手动清除其缓存才能从服务器获取较新的切片;因此,如果您要频繁地更新缓存,应考虑取消选中此框。

2.6.5 允许客户端导出缓存切片

ArcGIS 客户端 API 允许应用程序从服务器下载地图切片以供离线使用。您选中允许客户端导出缓存切片复选框时,将授权进行这些下载。

大型切片下载会对服务器性能产生负面影响,并会超出客户端设备的负荷。使用将导出缓存限制为设置可定义客户端一次请求的最大切片数量。

提示:
如果您尝试确定允许下载的最大切片数量,那么查看缓存中的切片总数可提供有用的信息。从缓存完成状态的详细报告中可获取此信息。请参阅查看缓存完成状态。

导出的切片放置在服务器输出目录中。在允许客户端导出切片时,您可能想增加服务器输出目录中允许的文件最长保留期限。默认的保留期限 10 分钟可能不足以供客户端在切片遭到清理之前完成检索。

上面介绍的缓存服务的原理,接下来我们一起介绍下,arcmap和arcgis Pro中如何发布缓存服务操作实例;

3、发布缓存服务

arcmap发布缓存服务操作示例:

那么下面我们就使用自己的数据,然后创建一个符合自己需求的切片方案,然后由于再发布时候对数据直接切片比较慢;我们就在发布完成后,在进行切片(当然全部切片,也可以逐级进行切片),这样能检测我们可以更直观的查看我们的缓存服务;

发布完后,我们在rest界面查看:

发布和使用 ArcGIS Server 服务之--切片服务(TileServer缓存服务)(一)_第12张图片
可以看到我们切片的级别:
发布和使用 ArcGIS Server 服务之--切片服务(TileServer缓存服务)(一)_第13张图片

4、ArcGIS API for JavaScript调用缓存服务(TileServer)

TileLayer 用来加载缓存服务;

缓存服务从缓存中直接获取切片,不需要动态渲染;

require(["esri/layers/TileLayer"], function(TileLayer) {
  var layer = new TileLayer({
    url: "https://services.arcgisonline.com/arcgis/rest/services/World_Terrain_Base/MapServer"
  });
  // Add layer to map
});

你可能感兴趣的:(server,ArcGIS,API,for,JavaScript,GIS)