组织和在服务器中注册数据的方式将影响数据在发布时是否需要打包并复制到服务器。
在阅读本主题之前,了解有关 ArcGIS Server 如何存储和访问数据的基础知识非常重要。 有关详细信息,请参阅以下链接:
栅格数据集和镶嵌数据集可以包含许多不同的文件。 本主题可帮助指导您组织这些数据,以便在发布时获得所需的结果。
需要了解,如果数据路径已在数据存储中注册,则 ArcGIS Server 会假定所有数据都在此处。 当注册位置与服务器共享时,这通常不会造成问题,但当位置重复时则可能会导致问题。 在这种情况下,在一个位置所做的任何更改都必须在另一个位置进行。 例如,如果您在本地位置为栅格数据集构建金字塔,但不将它们复制到服务器上的重复位置,则在发布操作期间不会复制它们,因为服务器假定所有数据文件均重复。
镶嵌数据集更复杂,因为涉及的文件更多。 一种复杂性是镶嵌数据集源数据的位置。 如果源数据是栅格数据集的集合(包括金字塔、统计数据和元数据文件),所有这些数据都可以位于镶嵌数据集具有读取权限的位置。
对于存储在文件地理数据库中的镶嵌数据集,如果构建金字塔,金字塔将存储在地理数据库旁边的文件夹中。 此文件夹的名称与地理数据库的名称相同,但扩展名为 .Overviews。 如果已为栅格项目添加激光雷达数据或生成缓存,则地理数据库旁边会存储另一个具有相同地理数据库名称和 .Cache 扩展名的文件夹。 默认情况下,概述和缓存均存储在地理数据库旁边,但可以选择将它们存储在其他位置,但这会增加数据组织的复杂性。
发布时,请确保服务器有权访问镶嵌数据集管理的所有内容。 必须正确设置数据存储并准备镶嵌数据集。 由于镶嵌数据集引用的数据可以存储在任何位置(仅需满足可读取条件),以下所有方案都将在使用镶嵌数据集时专门针对此问题进行扩展。
方案 1:所有数据均在共享位置
此为建议数据组织结构。 在此方案中,所有内容均存储在与您和服务器共享的位置。 您必须向服务器注册此位置并连接到目录窗口(或 ArcCatalog)中的此位置,以将其数据共享为影像服务。 这也是一种快速发布方式,因为不会移动任何数据。
方案 2:所有数据均重复
在此方案中,您的数据存储在两个位置:一个由服务器访问,一个在目录窗口中连接。 当服务器位于云端或 Linux 操作系统上时,通常使用此设置。
您必须确保数据完全相同。 例如,如果您通过添加新图像或修改覆盖区来修改镶嵌数据集,则必须确保更新服务器访问的副本。 您还必须确保相应地修改数据路径。 镶嵌数据集包含其所有内容的硬编码路径。 因此,如果内容位置为 D:\MyData 而服务器上的数据为 \\Blue\ServerData,则必须更新 \\Blue\ServerData 位置上镶嵌数据集中的路径。 可以在服务器位置复制镶嵌数据集(和关联文件)之前或之后更新这些路径;请参阅修复镶嵌数据集中的路径。
发布前,将本地和服务器位置注册为重复位置,并确保已复制数据且路径正确。 然后,可以通过指向本地计算机上的位置来发布镶嵌数据集。 服务器将了解该位置为重复位置,因此不会移动任何数据。 与方案 1 相同,这样也会加快发布速度。
方案 3:未注册的数据位置
与方案 1 相同,此方案不涉及数据的位置或服务器对其正确版本的访问。 在此方案中,所有数据在发布时都将被打包并移动到服务器。 建议用于小型数据集合,不建议用于中到大型集合,因为打包和移动数据可能需要时间。 当您无权访问服务器使用的位置时,或者如果您发布的是小型栅格数据集,但以这种方式移动千兆字节或更多数据时效率不高,则可以选择此选项。
方案 4:仅源数据位于注册位置
在此方案中,源数据位置与镶嵌数据集的位置不同。 此源数据位置可以共享或复制。
示例 1:共享源数据
通过 \\yellow\RasterData 共享源数据位置。 在本地计算机上,您创建一个镶嵌数据集并添加来自 \\yellow\RasterData 的数据。 然后当您发布镶嵌数据集时,该过程将包括打包镶嵌数据集和关联文件(例如 *.Overviews 文件夹的内容)、将其移动到服务器以及更新硬编码文件路径位置(或确保它们的相对位置保持不变)。 如果有很多概述,这可能需要很长时间。
示例 2:复制源数据
将复制源数据,在服务器上,其位于 P:\SourceData\RasterData,在本地计算机上,其位于 D:\RasterData。
在本示例中,必须确保镶嵌数据集不是在 D:\RasterData 内创建的,因为服务器假定这两个位置是重复的,并且它不会在发布时检查 P:\SourceData\RasterData 以确认镶嵌数据集是否存在。
在唯一位置创建镶嵌数据集,例如 D:\Collections。 然后当您发布镶嵌数据集时,该过程将包括打包镶嵌数据集和关联文件(例如 *.Overviews 文件夹的内容)、将其移动到服务器以及更新硬编码文件路径位置(或确保它们的相对位置保持不变)。