Skip To Content

教程:创建缓存影像服务

在本主题中
复杂程度: 中级数据要求: 使用自备的数据

创建快速影像服务的最佳方式就是对其进行缓存。对影像服务进行缓存时,服务器会以您定义和保存的经预处理(缓存)图像的一组比例级别和像素大小来绘制影像。当服务器接收到对影像的请求时,返回一个缓存的影像会比重新绘制原始影像更加快捷。

缓存适用于不经常更改的影像服务。如果进行更改,还提供了用于更新缓存的工具。

构建缓存之前,您需要执行一些设计和创作工作,从而创建有效的影像服务缓存。可根据镶嵌数据集、栅格数据集或者引用了栅格数据集或镶嵌数据集的图层文件创建影像服务。本教程引导您完成规划和使用 ArcGIS Online/Bing 地图/Google 地图切片方案创作要缓存的影像服务的过程。然后,您将创建影像服务并对其进行缓存。最后,将在客户端应用程序中测试缓存。

注:

如果影像服务的来源为镶嵌数据集,必须使用 WGS 1984 Web Mercator (Auxiliary Sphere) 作为其坐标系,这与 ArcGIS Online、Google 地图和 Bing 地图所使用的坐标系相同。

使用本教程时,请选择一些覆盖较小区域的简单数据集,例如一个城市或县。本教程是一次练习,目的在于帮助您为组织中将来的缓存工作做好准备。请特别注意论述和说明部分,但无需第一次就追求完美。需要进行一些尝试而后才能设计出满意的缓存。

本教程包含三个主要部分:

  1. 创作影像服务
  2. 发布影像服务(与生成缓存)
  3. 测试缓存

开始学习本教程前

如果您刚刚安装了 ArcGIS for Server,那么在 ArcMap 中连接到 ArcGIS for Server 并发布服务之前,需要完成一些准备工作:

  • 有关如何配置 ArcGIS Server 站点的详细信息,请参阅本帮助系统中的安装完毕后了解入门知识部分。
  • 要通过镶嵌数据集或镶嵌数据集图层提供影像服务,需要使用 ArcGIS Image 扩展模块 ,而通过栅格数据集或栅格数据集图层提供影像服务则无需使用此扩展模块。
  • 要了解如何使影像服务中的数据对于服务器可用,请参阅使数据可供 ArcGIS for Server 访问

创作影像服务

对影像服务进行缓存时,服务器会以您选择的一组比例或像素大小进行绘制。影像服务缓存后,除非重建或更新缓存,否则无法更改它的显示方式。这意味着需要特别注意以下两点:

  • 进行缓存之前,影像服务需要具有良好的外观并在每个比例级别显示正确的栅格。

    缓存影像服务必须适用于进行缓存的每个比例。每个影像服务都有各自的一组属性,以镶嵌方法为例,您可以基于镶嵌方法选择进行镶嵌的栅格并将针对每个比例级别显示这些栅格。

  • 您所选择的比例级别和像素大小非常重要。

    如果选取的比例太少,用户可能感觉缺少信息或无法获得良好的影像服务视图。如果选取的比例过多或选取了不必要的比例,则会增加缓存的创建时间和所占用的存储空间。相反,您的组织可能已经确定了缓存时要使用的切片方案。切片方案确定了缓存的某些属性,包括创建哪种比例级别和像素大小。

注:

如果使用镶嵌数据集作为影像服务的来源,最好要注意镶嵌数据集所包含的级数,以便在定义切片方案时选择相应的比例级别或像素大小。可通过查看镶嵌数据集的像元大小级别表来确定级数。

在本教程中,假设您所在的组织使用 ArcGIS Online/Bing 地图/Google 地图切片方案。要开始此过程,请执行以下步骤。

设计影像服务

缓存影像服务的一个优点是,在影像服务的源数据集的设计阶段,您可以使用各种栅格函数而不用担心它们对性能的影响。请花点时间记住需要在影像服务上执行的所有操作,因为一旦缓存创建完成,不重新创建或更新缓存就无法进行任何更改。

如果知道将创建发布为影像服务并使用 ArcGIS Online/Bing 地图/Google 地图切片方案缓存的镶嵌数据集,请使用 WGS 1984 Web Mercator (Auxiliary Sphere) 或 WGS 1984 Web Mercator 坐标系创建该镶嵌数据集。

如果在需要用于缓存的投影以外的另一个投影中创建镶嵌数据集,应基于所需投影中的镶嵌数据集来创建参考镶嵌数据集。这是因为无法更改镶嵌数据集的投影。

有关设计影像服务的源数据集的详细信息,请参阅准备影像服务

发布影像服务

教程的本阶段将引导您完成使用 ArcMap 将影像服务发布到 ArcGIS for Server 的整个过程。在此过程中,您将定义影像服务缓存的方案并分析影像服务。完成这些任务后,您将发布影像服务。

  1. 启动 ArcMap
  2. 目录 窗口中,右键单击数据集或图层,然后单击共享为影像服务
  3. 选择发布为服务,然后单击下一步
  4. 单击选择连接下拉列表并选择服务器。
  5. 输入服务的新名称(可选)。

    名称长度不能超过 120 个字符,并且只能包含字母数字字符和下划线。

  6. 单击下一步
  7. 默认情况下,服务会发布到 ArcGIS for Server 的根目录 [root]。此外,服务也可组织到根目录下的文件夹中。选择要将服务发布到其中的目标文件夹,或创建一个新文件夹存储服务。
  8. 单击继续

    随即显示服务编辑器。您将使用服务编辑器 选择用户可对影像服务执行的操作,还可对服务器显示影像服务的方式进行精细的控制。

    有关特定参数和功能的信息,请参阅影像服务及其功能

  9. 服务编辑器 的左侧窗格中,单击功能

    默认情况下,会启用影像

  10. 在左侧窗格的功能下,单击影像,然后检查信息。

    URL - 这是客户端用来访问影像服务的 URL。SOAP URL 格式如下:http://gisserver.domain.com:6080/arcgis/services/folder/service/ImageServer。REST URL 格式如下:http://gisserver.domain.com:6080/arcgis/rest/services/folder/service/ImageServer

    允许的操作 - 使用影像服务时,可以执行多种操作。每个选项都可以限制客户端能够对服务执行的操作。有关详细信息,请参阅影像服务及其功能

  11. 服务编辑器 对话框的左侧面板中,单击缓存
  12. 选择使用缓存中的切片绘制此服务。
  13. 单击切片方案下拉箭头,然后单击 ArcGIS Online/Bing 地图/Google 地图

    这会指定缓存影像服务将使用 ArcGIS Online/Bing 地图/Google 地图缓存切片方案和比例级别。

    注:

    如果从切片方案下拉列表中选择建议,系统会询问您用于生成默认切片方案的级别的数量。可通过在左侧面板中单击高级设置进行更改。

    了解有关切片方案的信息

  14. 检查估计缓存大小。然后降低(左移)细节层次栏中的最高缓存级别,直到估计缓存大小低于 50 MB 为止。这样做可确保得到合适的测试缓存大小。

    在您为表示最高缓存级别的信息而移动滑块时,您会注意到级别比例像元大小值发生了变化。使用镶嵌数据集时,可选择仅在未生成概视图的位置生成缓存。

  15. 考虑到本教程的目的,保留所有其他默认设置。请注意,您接受的默认设置之一是发布服务时自动构建缓存。对于较大缓存,您可能想要在其他时间(如晚上或周末)手动构建缓存。
  16. 在左侧窗格中,依次单击高级设置切片格式下拉箭头,然后单击 JPEG

    JPEG 格式可生成小型切片,并会减少存储缓存所需的磁盘空间。客户端也可以更快地加载切片。

    也可以选择 MIXED。这一混合缓存会在影像完全覆盖缓存切片时使用 JPEG,并对包含应透明显示区域的切片使用 PNG32。

    了解有关切片格式的信息

  17. 单击高级按钮。
  18. 单击存储格式下拉箭头,然后单击紧凑型

    此格式会将缓存切片分组为大型文件,而不是以单个文件形式存储切片。

  19. 单击确定关闭对话框。
  20. 单击缓存目录下拉箭头,选择想要创建缓存的目录。如果列表为空,在可以继续之前,需要添加服务器缓存目录。有关完整说明,请参阅创建服务器目录
  21. 考虑到本教程的目的,我们将接受其余服务设置的默认值并继续。
  22. 服务编辑器 中,单击分析 分析

    这会对数据集进行检查,看其是否能够发布至服务器。结果将显示在准备 窗口中。在可以发布影像服务之前,您需要对错误 错误 进行修正。有关解决这些问题的详细信息,请参阅主题分析 GIS 资源

    提示:

    要获得更多视图区域,请单击服务编辑器 顶部的折叠 折叠 按钮。

  23. 还可以在服务编辑器 中,单击预览 预览

    这样您便可以了解在 Web 上查看数据时数据的外观。有关详细信息,请参阅预览地图

  24. 修复完所有错误后,单击 发布 发布

影像服务立即开始发布。发布完成后,服务器开始构建缓存切片并继续操作,直到缓存构建完成为止。

根据最大的比例、服务器的硬件构成、数据的范围以及其他因素,可能需要一些时间来生成缓存。在本练习中,如果选取了一个简单的栅格数据集或地理范围较小的镶嵌数据集,则缓存可能在数分钟内完成。地理处理状态窗口会显示一个进度条,指示已完成多少缓存。

测试缓存

缓存一旦完成,就可以在 Web 应用程序中进行测试,以便确保影像服务按所需方式显示和执行。这也是验证应用程序能否识别并成功使用切片的好方法。

用于测试的 Web 应用程序可以是单一程序。测试影像服务缓存的一个好方法是使用 ArcGIS Server 服务目录下的 ArcGIS API for JavaScript 查看器应用程序。

  1. 在 Web 浏览器中,导航到服务目录。例如,http://gisserver.domain.com:6080/arcgis/rest/services
  2. 在服务列表中,单击影像服务。所有影像服务都追加有 (ImageServer)。如果服务位于文件夹中,则导航到该文件夹并选择服务。
  3. 显示页面显示服务名称、服务描述和图层列表。单击在以下位置处查看:ArcGIS JavaScript。将显示具有简单 JavaScript Web 应用程序的窗口。
  4. A window with a simple JavaScript web application appears. The levels in the zoom-level slider correspond to the scales in your cache.
  5. 在影像服务周围平移并缩放至不同级别。在影像服务中平移和缩放时,您会注意到影像切片显示得非常快。

疑难解答

如果未显示出应用程序正在使用缓存的情况,请确保 ArcGIS Server 帐户对服务器缓存目录具有读取和写入权限。

如果正在使用 Mozilla Firefox 查看 Web 应用程序,则有一种简单方法来判断您的缓存切片是否正在使用。

  1. 右键单击 Web 应用程序,然后选择查看页面信息
  2. 页面信息 窗口中,单击媒体按钮。
  3. 检查列表中显示的影像。如果能看到引用服务器缓存目录的 URL,则可以确信缓存正被使用。