导出和导入地图缓存
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 或“混合”格式。
选择要合并还是要覆盖切片
将切片导出或导入到缓存后,默认情况下将忽略原始缓存中的透明像素。将导致接收缓存中的图像合并或混合。例如,您可以在不覆盖底图影像的情况下,将带有点和线要素的切片导入到底图缓存中。
在某些情况下,混合影像并不适用,您可能想强制进行导入或导出以替换感兴趣区域中的所有像素。要执行此操作,在运行导出或导入工具时,选中覆盖切片复选框。请注意,如果原始缓存包含透明像素,则在接收缓存中,此区域也会变透明。
该选择与 JPEG 缓存无关,因为 JPEG 缓存并不支持透明像素。
基于要素类边界进行导出时处理标注
基于要素类边界导出切片时,请记住一点:落在要素类边界之外的所有标注或标注段在导出的缓存中都不可见。在标注密度较高的区域,标注经常横跨要素类边界或位于边界之外,这为用户带来了问题。
如果知道地图标注将很可能根据特定的地理区域导出,可设置禁止标注与这些地理区域边界重叠的 Maplex 加权规则。单击标注 工具条上的标注权重等级来设置这些权重。
下图说明了如何通过加权规则禁止标注与表示州的面要素的边界发生重叠。此类规则将确保没有任何标注会因沿州边界执行的导出操作而被裁剪为一半。
权重 1000 意味着要素无法与标注叠置。请注意,权重作用于面要素的边界,而非面本身。如果权重作用于面,则不会在州中看到任何标注。如果关注放在州边界之外的标注(例如沿海岸线),可创建一个表示州边界反方向的面并禁止在该面中放置标注。
您可能无法始终控制客户端用于导入切片的要素类。然而,使用 Maplex 标注权重,即可以极大地确保在切片导出过程中正确处理标注。