导出和导入地图缓存
ArcGIS 中有两个可将切片集从一个缓存转移到另一个缓存的工具:导出地图服务器缓存和导入地图服务器缓存,这两个工具都位于服务器工具工具箱中。对于不同的组织向某个主缓存提供切片的协同缓存工作,这些工具十分有用。这两个工具还可将切片子集移动到计算机以供离线使用。
导出/导入功能有什么作用
以下情景可以帮助您了解导出和导入工具的用途:
最佳缓存
假设您是负责维护州影像缓存的人员。州中的某个县有了新的高分辨率影像,并希望将它添加到缓存。您请求该县将缓存导出到外部硬盘驱动器或可访问的网络位置,以便您能够从该位置获取导出的文件。您随后将切片导入到缓存中。
协同缓存
最佳缓存这一思路可以扩展到多个提供者。假设您正在为所处地区多个政府联合部门协调一个 Web 制图项目。各当地政府都有自己的 GIS 数据库和制图应用程序,但他们都同意采用统一的制图样式和缓存切片方案。
在这种情况下,您决定构建一个由各当地政府机构提供的切片所构成的协同缓存。各个当地政府导出其区域范围内的切片。然后将这些切片导入到 Web 地图的某个主缓存中。在 Internet 上查看地图的普通民众可能不会发现数据来自不同的来源。
离线缓存
ArcMap 可以从磁盘中像读取栅格数据集那样读取切片缓存。无需使用支持地图服务。这便形成了导出和导入工具的第三种使用方案,即用户将切片的子集移动到其他计算机以供离线使用。
假设您为一个大城市工作并且设置了一个包含影像的缓存地图服务。您的雇员喜欢在 ArcMap 中使用该服务以便为他们的工作提供相关信息。然而,有些员工有时必须将便携式计算机带到无法访问 Internet 的工作现场。
因此您决定将缓存的副本导出到网络上的共享位置。现在,您的雇员可从该共享位置将切片导入到他们的便携式计算机。为了避免导入不需要的切片,雇员创建了感兴趣区域的要素类并使用该要素类定义导入区域。雇员在便携式计算机上运行 ArcMap 时,即可浏览到导入的缓存并像添加其他栅格数据集那样将该缓存添加到地图。
导出/导入的基础知识
导出/导入的操作流程包括以下步骤:
1. 导出一组切片
第一步是使用导出地图服务器缓存从源缓存中导出切片。还可以定义感兴趣的区域来限制导出的范围。从这种意义上说,导出/导入工具要优于对切片执行复制和粘贴操作。如果使用简单的复制和粘贴操作,则很难在空间上隔离感兴趣区域的切片子集。
而基于要素类边界进行导出时,导出的区域实质上会裁剪到要素类的边界。周围切片上要素类边界之外的区域将变为透明(如果源缓存为 PNG 或“混合”格式),或填充为背景色(如果源缓存为 JPEG 格式)。
源文件夹可以是网络上的共享位置、启用 Web 功能的文件夹、偶尔断开连接的便携式计算机或硬盘介质。如果 ArcGIS Server 帐户对目标位置没有写入权限(此情况可能在云计算方案中发生),可以选中从服务器复制数据框。这会将切片放入服务器输出目录,客户端可从中下载这些切片。此选项较慢,但可使导出面向更广泛的客户端。
切片方案和基本缓存尺寸信息分别在 conf.xml 文件和 conf.cdi 文件中随切片一同导出。客户端(如 ArcMap)检索有关缓存的基本信息时需要使用这些文件。
最后,“导出地图服务器缓存”还可用于转换缓存的存储格式(紧凑和松散)。这种转换十分必要,因为不允许在一个缓存中混合使用两种存储格式。对于要复制到离线环境中的大型切片集,建议导出为紧凑格式。与松散格式相比,紧凑格式占用的磁盘空间更少,因此复制速度更快。
2. 可以将切片作为断开连接的栅格数据集来使用
导出切片之后,可以选择在 ArcMap 中直接从磁盘中将导出的切片作为栅格数据集来使用。只需单击添加数据并浏览到切片的导出位置。许多导出/导入工作流不需要此步骤,它只是一种可选做法。如果需要,可以在此步骤停止,并且不将切片导入到其他位置。
3. 可以选择将切片导入到另一缓存
导入地图服务器缓存工具可将导出的一组切片导入到现有缓存中。缓存的切片方案必须匹配。缓存的图像格式必须也匹配,或者接收缓存必须使用“混合”图像格式。
您可以选择性地定义要导入的感兴趣区域。如果其他用户导出了整个缓存而您只希望获取其中的某一特定部分时,这种方法十分有用。
如果 ArcGIS Server 帐户对源缓存没有读取权限,可以选中将数据上传到服务器。这会将切片放入服务器上传目录。随后,服务器会自动将切片移入服务器缓存目录。
图像格式的重要性
图像格式在进行缓存时就是重要考虑因素之一,它会影响切片外观,缓存所占的磁盘空间以及透明度功能。而在导出/导入时,图像格式更加重要,因为导出缓存或接收缓存的格式可能会影响到是否能够进行导入以及最终缓存的外观。
导入切片时,缓存图像格式必须匹配,或者接收缓存必须采用“混合”格式。可将任意格式的切片导入到“混合”缓存中。请注意,如果将具有较高位深度或压缩质量的切片导入到“混合”缓存中,可能会使具有较低位深度或压缩质量的相邻切片出现明显质量差异。
应尽量在导出/导入时使用 PNG 或“混合”缓存。JPEG 缓存不能将切片的背景色标识为透明。如果必须使用包含背景色的 JPEG 切片,请记住一点:这些切片的背景色将被引入到接收缓存。如果目标缓存的初始背景色与此不同,则导入操作将导致目标缓存有两个背景色。
要避免将这部分背景引入到缓存中,请为要参与导出/导入操作的缓存使用 PNG 或“混合”格式。
基于要素类边界进行导出时处理标注
基于要素类边界导出切片时,请记住一点:落在要素类边界之外的所有标注或标注段在导出的缓存中都不可见。在标注密度较高的区域,标注经常横跨要素类边界或位于边界之外,这为用户带来了问题。
如果知道地图标注将很可能根据特定的地理区域导出,可设置禁止标注与这些地理区域边界重叠的 Maplex 加权规则。单击标注 工具条上的标注权重等级来设置这些权重。
下图说明了如何通过加权规则禁止标注与州多边形边界重叠。此类规则将确保没有任何标注会因沿州边界执行的导出操作而被裁剪为一半。
权重 1000 意味着要素无法与标注叠置。请注意,权重作用于多边形的边界,而非多边形本身。如果权重作用于多边形,则不会在州中看到任何标注。如果关注放在州边界之外的标注(例如沿海岸线),可创建一个表示州边界反方向的面并禁止在该面中放置标注。
您可能无法始终控制客户端用于导入切片的要素类。然而,使用 Maplex 标注权重,即可以极大地确保在切片导出过程中正确处理标注。