Skip To Content

Globe 缓存的工作原理

由于 ArcGlobe 在内部采用了“数据切片”的数据组织模式,因此它能够有效地处理特别大的数据源。对数据切片进行存储以供日后使用的做法即为数据缓存。使用 ArcGlobe 时,数据切片会始终存储在内存缓存中,也可以选择将其存储在磁盘缓存中。这些存储的数据图层的数据切片称为图层数据缓存。数据缓存的优点包括可提高显示性能并减少重复的数据请求。

globe 服务十分依赖图层数据缓存。该缓存由可用于显示的预渲染切片组成。服务从缓存中检索切片要比动态创建切片更快。因此,globe 服务将始终使用缓存。

Globe 缓存和地图缓存

如果您使用过 2D 地图服务,那么可能对地图缓存的概念比较熟悉。Globe 缓存存储在与地图缓存不同的文件格式中,并且文件夹层次结构也不同。但是,Esri globe 客户端(ArcGlobe 和 ArcGIS Explorer Desktop)可以读取 2D globe 缓存,因此不总是需要复制 globe 缓存(如果具有现有地图缓存)。

高程图层需要 Globe 缓存,因为它不受按需生成的支持。建议所有图层都生成缓存,以提高总体性能。

构建缓存的方法

最初在 globe 缓存中构建的数据量由您自己决定。有三种类型的缓存:完整数据缓存、部分数据缓存和按需(实时)数据缓存。

完整数据缓存

如果使用完整数据缓存,则将为数据集中定义的所有区域和细节层次生成和保存数据切片。使用 ArcGlobe 可以对任何图层执行完整数据缓存。如果可行,建议使用生成完整数据缓存这种方法来部署 globe 服务。

注:

作为高程的栅格数据必须始终构建完整数据缓存才能用作 globe 服务的一部分。有关如何进行上述操作的步骤,请参阅创建 globe 缓存切片

部分数据缓存

仅当在所选细节层次下生成缓存时才发生部分数据缓存。如果只构建部分缓存,您将允许服务器根据需要为缓存中不包含的细节层次生成数据切片。

当您的数据在许多细节层次下覆盖很大区域时,部分缓存有时要比完整缓存更适用。部分缓存应包括您预计用户会最常使用的细节层次。如果客户端请求其他细节层次,可通过按需缓存进一步生成切片。

按需数据缓存

在按需数据缓存中,服务器仅会为显示区域和客户端请求的细节层次生成切片。在地球上导航时,服务器会生成切片并将其添加到缓存中。这种数据缓存模式称为按需(或实时)数据缓存,因为仅会对访问的区域进行缓存。这些切片将保存到磁盘中,以便其他人请求查看相同细节层次的相同区域时可再次使用它们。

尽管使用按需缓存使您可以在最短时间(节省了初始数据缓存的时间)内发布 globe 服务,但第一个客户端请求切片时的性能比切片已缓存的情况要低。

除了作为高程的栅格数据之外,按需缓存支持所有数据类型。

构建缓存

创建 globe 缓存的过程分为两步,下面链接的主题中对这两个步骤进行了介绍:

  1. 设置缓存属性
  2. 创建 globe 缓存切片

服务器缓存目录

服务器缓存目录是磁盘上用于存储缓存切片的文件夹。在创建 ArcGIS for Server 站点时,会在为服务器目录指定的位置创建服务器缓存目录。一个服务器缓存目录可存储多个缓存;但如果需要,可将多个服务器缓存目录添加到服务器。因此,在服务编辑器缓存选项卡上,可以选择用于存储缓存的服务器缓存目录。

如果将其他 GIS 服务器计算机添加到您的站点,则需要在服务器缓存目录上启用文件共享,以便参与的所有计算机都可以看到它。无论使用 ArcGlobe 还是 ArcMap,该过程都相同。有关详细信息,请参阅关于服务器目录配置多机部署。确保为 ArcGIS Server 帐户授予服务器缓存目录的写入权限,以使服务器可以成功地将切片放置在该目录中。完成创建缓存时,可选择删除写入权限。

globe 缓存的存储方式

所有 globe 缓存都存储在服务器缓存目录的 GlobeCache 文件夹中。您无需创建 GlobeCache 文件夹;软件会在您创建第一个 globe 服务时为您创建该文件夹。创建 globe 服务时,您会为其指定一个服务器缓存目录,然后该服务的图层缓存会自动放置在 GlobeCache 文件夹中。

可以将多个 globe 服务指定到同一服务器缓存目录中。指定到同一服务器缓存目录的所有 globe 服务将共享同一 GlobeCache 文件夹。

通常,globe 服务中的每个图层在 GlobeCache 目录下都具有一个单独的唯一缓存。唯一的例外情况是合并的图层组和基于 Web 的图层(WMS、地图服务图层等),组内的各子图层将共享单个缓存。

globe 服务中所有图层的缓存必须驻留在同一服务器缓存目录中。不同的 globe 服务可使用不同的服务器缓存目录;但是,如果磁盘空间允许,建议对所有 globe 服务使用统一的缓存位置。

服务器缓存目录中的文件夹结构

可以打开服务器缓存目录来检查缓存切片。只能通过 ArcGlobe 或 ArcGIS Explorer Desktop 查看 globe 切片图像,但您仍然可以看到标题名称和大小以及文件在磁盘上的保存位置。

GlobeCache 文件夹中的缓存以目录等级形式组织。已为 globe 图层命名顶级目录。在此目录中,您将看到 globe 六个面中每个面的子目录以及与缓存连接的图层文件。接下来,您将看到 globe 缓存对应的每个等级的文件夹,后面是表示相应等级的行的文件夹。这些行文件夹内包含实际的切片。

如果您已经具有 2D 地图缓存,是否需要构建 globe 缓存?

为了在 ArcGIS globe 客户端中更快地使用 2D 和 3D 地图,可通过 ArcGIS Online/Bing 地图/Google 地图切片方案构建 2D 地图缓存来获得最佳性能。显示速度可超过 globe 缓存的速度。如果在此切片方案中构建 2D 缓存,则无需构建和维护 globe 缓存。如果无法使用这些切片方案,则可通过使用 globe 服务缓存来获得最佳性能。

提示:

采用之前 ArcGIS Online 所使用的基于 WGS 1984 的坐标系构建的 2D 地图缓存也可以达到或超过 globe 缓存的速度。

当创建了 2D 地图缓存并想基于该 2D 缓存创建相同的 3D globe 缓存时,您可能会希望将地图服务添加至 ArcGlobe 中。在这种情况下,您需要考虑的仅是生成缓存,而无需考虑导航 globe。