Skip To Content

导出和导入地图缓存

ArcGIS 包含两个可帮助您将切片集从一个缓存转移到其他缓存的地理处理工具:位于服务器工具工具框中的导出地图服务器缓存导入地图服务器缓存。 对于不同的组织向某个主缓存提供切片的协同性的缓存作业,这些工具十分有用。 这些工具还可用于将切片子集移动到计算机上以供离线使用。

缓存切片的导入和导出情景
缓存切片可作为栅格数据集导出以供访问,也可以导入到其他缓存中。

何时使用导出和导入工具

以下情况提供了有关如何使用导出地图服务器缓存导入地图服务器缓存地理处理工具的示例。

最佳缓存

假设您是一名负责维护您所在州的影像缓存的工作人员。 州中的某个县有了新的高分辨率影像,您希望将它添加到缓存中。 您请求该县将缓存导出到外部硬盘驱动器或某一可访问的网络位置,以便您能够从该位置获取导出的文件。 然后您需要将切片导入状态缓存。

协同缓存

最佳缓存这一思路可以扩展到多个提供者。 假设您正在为所处地区多个政府联合部门协调一个 Web 地图项目。 尽管各地方政府都有自己的 GIS 数据库和制图应用程序;但是,所有人都同意使用一种相互匹配的制图样式和缓存切片方案。

这种情况下,您决定构建一个由各地方政府机构提供的切片所构成的协同缓存。 各地方政府导出其区域范围内的切片。 然后将这些切片导入到 Web 地图的某个主缓存中。 在 Internet 上查看地图的公众成员可能甚至无法识别数据来自不同的来源。

离线缓存

ArcGIS 应用程序可以像读取任何其他栅格数据集那样从磁盘中读取切片缓存。 对于所支持的地图服务没有任何其他需求。 在这种情况下,您可将切片子集移动到其他计算机上以供离线使用。

假设您为一个大城市工作并且设置了一个包含影像的缓存地图服务。 您的雇员喜欢在地图中使用该服务为他们的工作提供相关信息。 然而,有时一些员工必须将便携式计算机带到无法访问 Internet 的作业现场。

因此您决定将缓存的副本导出到网络上的某一共享位置。 之后,您的雇员可从该共享位置将切片导入到他们的便携式计算机。 为了避免导入不需要的切片,雇员创建了一个感兴趣区域的要素类并使用该要素类定义导入区域。 雇员在便携式计算机上打开地图时,即可浏览到导入的缓存并像添加其他栅格数据集那样将该缓存添加到地图中。

导出和导入切片的基础知识

用于导出和导入切片的工作流包含以下步骤:

1. 导出一组切片

第一步是使用导出地图服务器缓存工具从源缓存中导出切片。 还可以定义一个感兴趣区域来限制导出的范围。 从这种意义上说,该工具要优于对切片执行复制和粘贴操作。 如果使用简单的复制和粘贴操作,则很难在空间上隔离感兴趣区域的切片子集。

而基于要素类边界进行导出时,导出的区域实质上会裁剪到要素类的边界。 周围切片上要素类边界之外的区域将变为透明(如果源缓存为 PNG 或混合缓存),或填充为背景色(如果源缓存为 JPEG)。

源文件夹可以是网络上的共享位置、启用 Web 功能的文件夹、偶尔断开连接的便携式计算机或硬盘介质。 如果 ArcGIS Server 帐户对目标位置没有写入权限(此情况可能在云计算情景中发生),则可以选中从服务器复制数据框。 这会将切片放入服务器输出目录,客户端可从中下载这些切片。 此选项较慢,但可使导出面向更广泛的客户端。

切片方案和基本缓存尺寸信息分别存储在 conf.xml 文件和 conf.cdi 文件中并随切片一同导出。 客户端(如 ArcGIS Pro)检索有关缓存的基本信息时需要使用这些文件。

最后,导出地图服务器缓存还可用于转换缓存存储格式(紧凑和松散)。 这种转换十分必要,因为不允许在一个缓存中混合使用两种存储格式。 导出将复制到离线环境的大切片集时,请使用紧凑格式。 与松散格式相比,紧凑格式占用的磁盘空间更少因此复制速度更快。

2. 将切片作为离线栅格数据集使用(可选)

一旦导出切片,您即可选择在 ArcGIS Pro 中直接从磁盘中将导出的切片作为栅格数据集来使用。 单击添加数据并浏览到切片的导出位置。 许多工作流都不需要此步骤,它只是一种可选做法。 您也可以在此步骤停止,并且不将切片导入到其他位置。

3. 将切片导入到其他缓存(可选)

导入地图服务器缓存工具可将导出的一组切片导入到现有缓存中。 缓存的切片方案必须匹配。 缓存的图像格式必须相匹配,或者接收缓存必须使用混合图像格式。

您可以选择性地定义要导入的感兴趣区。 如果其他用户导出了整个缓存而您只希望获取其中的某一特定部分,这种方法十分有用。

如果 ArcGIS Server 帐户对源缓存没有读取权限,可以选中将数据上传到服务器。 这会将切片放入服务器系统目录。 随后,服务器会自动将切片移入服务器缓存目录。

图像格式的重要性

将切片从一个缓存导入到另一个缓存中时,缓存图像格式必须匹配。

应尽量在导出和导入切片缓存时使用 PNG 或混合缓存。 JPEG 缓存不能将切片的背景色标识为透明。 如果必须使用包含背景色的 JPEG 切片,请记住一点:这些切片的背景色将被引入到接收缓存。 如果目标缓存的初始背景色与此不同,则导入操作将导致目标缓存有两个背景色。

选择要合并还是要覆盖切片

将切片导出或导入到缓存后,默认情况下将忽略原始缓存中的透明像素。 将导致接收缓存中的图像合并或混合。 例如,您可以在不覆盖底图影像的情况下,将带有点和线要素的切片导入到底图缓存中。

在某些情况下,混合影像并不适用,您可能想强制进行导入或导出以替换感兴趣区域中的所有像素。 要执行此操作,在运行导出或导入工具时,选中覆盖切片复选框。 请注意,如果原始缓存包含透明像素,则在接收缓存中,此区域也会变透明。

该选择与 JPEG 缓存无关,因为 JPEG 缓存并不支持透明像素。

允许客户端导出缓存切片

ArcGIS 客户端 API 允许应用程序从服务器下载地图切片以供离线使用。 一旦您允许客户端导出服务的缓存切片,便会启用可授权这些下载的 REST API 中的一系列操作。 要了解有关这些操作的详细信息,请参阅导出切片

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

提示:

要确定允许下载的最大切片数量,您可能会发现确定客户端想要下载的平均区域然后检查该区域内的切片总数十分有用。 请参阅查看缓存完成状态

导出的切片放置在服务器输出目录中。 在允许客户端导出切片时,您可能想增加服务器输出目录中允许的文件最长保留期限。 默认的保留期限 10 分钟可能不足以供客户端在切片遭到清理之前完成检索。 有关进行此编辑的步骤,请参阅ArcGIS Server Manager 中编辑服务器目录

导出性能

REST API 将使用缓存控制器服务来导出切片。 分配给 CachingTools、地图服务或影像服务的实例数不影响性能。 要增加在任何给定时间内受支持的并行 exportTiles 操作数,需要增加缓存控制器服务的实例数。 请使用公式 3*N,其中 N 表示站点内单个 ArcGIS Server 计算机上的内核数。