可用的地图缓存属性
创建地图缓存分为两步:
- 设置缓存属性。
- 创建切片。
本主题介绍可用的地图缓存属性。有关创建切片的详细信息,请参见创建地图缓存切片的策略。
访问缓存属性
服务属性 的缓存 选项卡用于设置缓存属性。以下主题说明了如何访问缓存 选项卡:
打开缓存 选项卡后,首先需要选择使用将在下方定义的缓存中的切片绘制地图服务的选项。如果选择根据数据动态绘制,服务器每次都会绘制地图,且地图服务不会使用创建的任何缓存切片。
本主题余下部分介绍缓存 选项卡上的可用设置。开始创建缓存后,将无法更改这些选项,除非删除现有缓存并重新开始。因此,提前规划缓存的切片方案和其他属性至关重要。
设置完缓存属性后,单击创建切片按钮(仅限 ArcCatalog)创建切片,或启动管理地图服务器缓存切片地理处理工具。
切片方案
切片方案包括缓存的比例级别、切片尺寸和切片原点。这些属性定义缓存边界的存在位置,在某些客户端中叠加缓存时匹配这些属性十分重要。图像格式和抗锯齿等其他属性也会写入切片方案,但对于客户端应用程序能否成功叠加切片没有影响。
选择切片方案的方法有多种:
- 加载 ArcGIS Online、Bing 地图和 Google 地图使用的相同切片方案
ArcGIS Online/Bing 地图/Google 地图切片方案使您可以将来自这些在线地图服务的数据叠加在缓存切片之上。加载切片方案时,ArcGIS Server 以内置选项形式包括此切片方案。选择此切片方案时,源地图文档的数据框必须使用 WGS 1984 Web 墨卡托(辅助球体) 投影坐标系。
如果要将 ArcGIS Online、Bing 地图或 Google 地图叠加到缓存,则需要 ArcGIS Online/Bing 地图/Google 地图切片方案。ArcGIS Online 叠加在任何可连接到 ArcGIS Server 的 ESRI 客户端中均可实现。Bing 地图和 Google 地图叠加可以分别通过 ArcGIS Extension for Bing Maps 和 ArcGIS Extension for the Google Maps API 来实现。
ArcGIS Online/Bing 地图/Google 地图切片方案的优势在于它在 Web 地图领域内广为熟知,所以您的切片与其他使用此切片方案的组织的切片相一致。即使您不打算叠加这些广为熟知的地图服务,仍然可以选择此切片方案以便于互操作。
ArcGIS Online/Bing 地图/Google 地图切片方案可能包含过度放大以至于无法在地图中使用的比例。在大比例下进行缓存相当耗时,且会占用大量磁盘存储空间。例如,切片方案中的最大比例约为 1:1,000。在此比例下缓存整个美国大陆可能将耗费数周时间并需要数百 GB 的存储空间。如果尚未准备好在此比例等级下进行缓存,创建切片时应取消选中此比例级别的复选框。
警告:相对于删除切片方案中的比例,选择不在该比例下创建切片效果更佳。如果从 ArcGIS Online/Bing 地图/Google 地图切片方案中删除比例,可能无法叠加该服务的切片。
- 从现有地图服务加载切片方案
如果贵组织已在 GIS 服务器上创建现有服务的切片方案并且您想要与其进行匹配,则选择此选项。相匹配的切片方案可确保切片在 Web 应用程序和其他混合 Web 应用程序中正确叠加。
如果选择此选项,源地图文档和用于导入切片方案的地图应使用相同的坐标系。
- 加载切片方案文件
所有地图缓存在缓存目录中都有一个切片方案文件 conf.xml(例如:c:\arcgisserver\arcgiscache\MyService\MyDataFrame\conf.xml)。可浏览至此文件以设置地图服务的切片方案。该选项允许使用通过电子邮件、文件共享或 ArcGIS Server 服务获取的切片方案。
- 创建自定义切片方案
由于需要使用不同的坐标系或比例级别集合,所以从在线地图服务选择切片方案并不总是可以实现。这种情况下,需要创建自定义切片方案。本文档以下各部分将帮助您为切片方案选择合适的比例及其他属性。
ArcGIS Online 之前使用基于 WGS 1984 地理坐标系(使用 512 x 512 像素切片)的切片方案。如果运行的服务需要使用此切片方案,必须从现有服务或切片方案文件中加载。
比例
如果选择创建自定义切片方案,可自行定义比例或让 ArcGIS Server 为您建议若干比例。
选择建议选项时,该对话框会询问您希望使用的比例数目,然后软件以 1:1,000,000 为下限,从最接近源地图文档范围的级别开始,选择按 2 的乘方增加或降低的等级。例如,如果源地图文档的范围是 1:121,000,000 并定义三个比例级别,ArcGIS Server 将建议以下比例级别
- 1:128,000,000
- 1:64,000,000
- 1:32,000,000
一般来说,应该将请求的建议比例数目限制在 20 个以下。
熟悉缓存创建过程后,最好选择自定义比例级别,而不是要求软件为您建议比例。如果可能,甚至应该在设计地图之前就选择比例。这样,所设计的地图在各种比例下都会具有良好的显示效果。
选择一组比例的简便方法是:确定用户查看地图时需要使用的最接近比例,然后重复地将比例的分母乘以 2,直至达到仅在一或两个切片内便可包含全部关注区域的比例。例如,如果正为某个城市设计切片方案,用户查看地图应使用的最接近比例为 1:2,400,则比例可能为 1:2,400、1:4,800、1:9,600、1:19,200 或 1:38,400,直到达到在计算机屏幕上一次可以看到整个城市的一个比例。
存储设置
可选择将切片分组以获取更高的存储效率和移动性,或者以单个文件形式存储每个切片。以下为存储选项:
- 使用紧密格式,缓存中的每个文件都包含一包切片。每个包的宽度为 128 个切片,高为 128 个切片,最多包含 16,384 个切片。压缩缓存的复制速度大大快于松散缓存,且占用的磁盘空间更少。
- 使用松散格式,每个切片都存储为磁盘上的一个文件。这便于在将切片添加到缓存的同时查看切片;但这会使生成的缓存较大从而耗费更多的时间来创建,并且不易于复制。
有时,缓存中数量巨大的文件和文件夹可能会使复制工具效率低下,包括 Windows 复制/粘贴。因此,紧密缓存可极大地减少缓存复制时间。如果采用自动缓存更新工作流程,即在过渡服务器上创建切片后将其复制到生产服务器,建议使用紧密缓存。此外,如果可用磁盘空间有限,也应使用紧密缓存。
紧密缓存存储在 .bundle 文件中。ArcSOC.exe 进程按包划分缓存工作,即一个 ArcSOC.exe 文件一次只可处理一个包。每个包都有一个对应的 .bundlx 文件,其中保存包内每个文件的位置索引。
创建缓存时,可能还会看到 .lock 文件和 .done 文件。.lock 文件是服务器用来追踪当前所创建的包的方法;存在 .lock 文件并不代表客户端无法访问包。相似地,.done 文件是服务器用来了解已完成的包的方法。缓存工作完成后。所有的 .lock 和 .done 文件都会被删除。
切片方案原点
切片方案原点是指切片方案格网的左上角。原点不一定代表创建切片的起始点;只有在达到地图全图范围时才是这样。进行缓存时使用公用切片方案原点可确保所创建的缓存能够在 Web 应用程序中相互叠加。
大多数情况下,应保持软件选择的默认切片方案原点。默认原点为地图文档定义的坐标参考的左上点。如果地图文档中未定义坐标参考,则将所有图层范围的并集中最大的范围加倍,然后使用所得范围的左上角作为原点。
如果将切片方案原点更改到非默认位置,则应注意只能在切片方案原点右下方的地图区域中创建切片。如果只想缓存地图的某一区域,相对于更改切片方案原点,基于外接矩形或要素类创建切片是更好的选择。
切片宽度和高度
切片的默认宽度和高度为 256 像素。可以选择 2 的任何次方作为宽度和高度,但建议使用 128、256 或 512。如果要构建的缓存将与另一缓存相叠加,应确保对两个缓存均使用相同的切片宽度和高度。
选择较小的切片宽度和高度可提高向缓存请求切片的应用程序的性能,因为需要传输的数据较少。但对于松散缓存,切片越小,缓存越大且创建时间越长。因为默认的 Windows 磁盘区大小为 4 千字节 (K),大小仅为 1K 的小切片实际会占用 4K 的磁盘空间。而大小为 4K 的较大切片正好适合 4K 的磁盘区。因此,四个 1K 切片占用 16K 磁盘空间,而覆盖相同区域的单个 4K 切片只占用 4K 空间。如果对大量文件进行松散缓存,这种差异将极其明显。
图像格式
此设置决定地图服务在创建切片时要使用的输出图像格式。选择图像格式十分重要,因为它将确定切片在磁盘上的大小、图像质量以及能否使切片背景透明。
默认图像格式为 PNG 8,但根据要创建的地图类型可能经常需要进行更改。以下为可用图像格式及其相应用途的摘要。
- PNG8 - PNG 8 用于需要具有透明背景的叠加服务,例如道路和边界。PNG 8 可在磁盘上创建非常小的切片且不损失任何信息。
如果地图包含的颜色超过 256 种,请勿使用 PNG 8。影像、山体阴影、梯度填充、透明度和抗锯齿可轻易地使地图包含的颜色超过 256 种。即使是符号(如高速公路盾形路牌符号)也可能在其边缘周围进行微小的抗锯齿,从而使地图包含更多颜色。
- PNG24 - 可将 PNG 24 用于超过 256 种颜色(如果少于 256 种颜色,使用 PNG 8)的叠加服务,例如道路和边界。如果将在 Internet Explorer 6 或更早版本中查看切片,请勿使用 PNG 24。
- PNG32 - PNG 32 用于超过 256 种颜色的叠加服务,例如道路和边界。PNG 32 特别适用于对线或文本启用了抗锯齿的 MSD 叠加服务。PNG 32 在磁盘上创建的切片比 PNG 24 大,但所有浏览器都完全支持这种切片。
- JPEG - 此格式用于颜色变化较大且不需要透明背景的底图服务。例如,栅格影像和非常详细的矢量底图特别适合使用 JPEG。
JPEG 为有损图像格式。在不影响图像显示效果的情况下,它会尝试有选择地删除数据。这会在磁盘上产生很小的切片,但如果地图包含矢量线作业或标注,它可能会在线周围生成过多的噪声或模糊区域。如果发生这种情况,可尝试将压缩值从默认的 75 增加到更大的值。更高的值(如 90)可以生成可接受的线作业质量,同时还可保证 JPEG 格式的小切片优势。
确定可接受的图像质量由您掌握。如果愿意接受图像中存在少量噪声,选择 JPEG 可节省大量的磁盘空间。更小的切片同样意味着浏览器可更快地下载切片。
- 混合 - 混合缓存在缓存中心使用 JPEG,同时在缓存边缘使用 PNG 32。如果要在其他图层上完全叠加栅格缓存,应使用混合模式。
创建混合缓存时,在检测到透明度的任何位置(也就是数据框背景可见的位置)都会创建 PNG 32 切片。其余切片使用 JPEG 构建。这可降低平均文件大小,同时可在其他缓存上进行完全叠加。如果在这种情况下不使用混合模式,将在图像叠加其他缓存的外围看到“凸边”。
确定大缓存的图像格式之前,先构建有代表性的地图区域的小缓存并在测试应用程序中检查切片质量和性能。如果要使用多个缓存,构建每个缓存的测试缓存并将其添加到测试应用程序以确保它们按预期方式叠加。这是您有机会在创建整个缓存之前做出调整。
要创建小型测试缓存,使用 ArcGIS Desktop 中的编辑工具创建由待测试区域周围的小矩形构成的新要素类。然后使用管理地图服务器缓存切片工具底部的选项,根据要素类的边界创建切片。浏览至包含测试区域的要素类,然后创建切片。
抗锯齿
抗锯齿是混合边缘周围的前景像素和背景像素以使人眼可以看到更平滑边框的一种图形技术。可将抗锯齿功能应用于地图服务以得到更高质量的线和标注外观。作为服务器管理员,您必须确定使用抗锯齿功能提高视觉质量所造成的性能下降是否值得。
抗锯齿功能的工作方式取决于地图服务是基于 MXD 文件(ArcMap 文档)还是 MSD 文件(地图服务定义)。要获得最佳质量和性能,建议对基于 MSD 的地图服务使用抗锯齿功能,同时使用 PNG 32 图像格式。
通过 ArcMap 中的地图服务发布工具条,您可以针对基于 MSD 的服务选择将不同级别的抗锯齿功能应用到线和文本。所选抗锯齿功能的质量越高,地图的绘制速度越慢。可使用工具条上的预览按钮来了解使用不同级别的抗锯齿功能所产生的外观和绘制时间。
如果要使用基于 MXD 的服务,ArcGIS Server 通过先降低较大地区区域的采样率,然后将其切割成切片方案中指定的小切片的方法来执行抗锯齿。通过这种方法,经过抗锯齿处理后的要素颜色将由数据框背景颜色提供。如果基于矢量的缓存要与栅格影像相叠加,在开始创建缓存之前,先将数据框背景更改为不太可能显示在地图中的更深颜色。某些软件工具能够找出给定图像内的中间色,将该颜色用于数据框背景是很好的选择。
DPI
每英寸点数 (DPI) 是指服务器将生成的缓存切片的分辨率。DPI 取决于用户的屏幕分辨率(例如 1024x768)和物理大小(例如对角线长度 19")。因为大屏幕(可降低 DPI)、更高分辨率的屏幕和图形卡(可通过更高的设置提高 DPI)等因素,DPI 在不同客户端计算机上可能发生很大变化。如果客户端经常打印包括缓存图层的地图,您会发现将 DPI 提高到默认值以上很有帮助,但请注意,这也会增加缓存中文件的大小。
选择 DPI 设置时,默认值 96 通常便已足够,除非您主要工作在大多数客户端计算机都有不同 DPI 的网络上。
高级选项(缓存类型)
单击高级选项按钮能够选择融合或多图层缓存。融合缓存将地图中的所有图层都包括在一个融合图像中。各图层必须同时打开或关闭。
相反,多图层缓存则包括每个图层的一组缓存图像。显示地图时,服务器仍须将每个图层的切片混合到一起。多图层缓存中的图层越多,混合操作耗时越长。如果要使用存在过多图层的多图层缓存,可能会损失缓存的性能优势。此外,缓存的创建时间也更长,这是因为各个图层需要在缓存范围上的各个比例尺下渲染。
尽可能使用融合缓存。如果需要能够打开或关闭图层,应考虑叠加多个融合缓存而不使用多图层缓存。要完成此操作,先确定原始地图文档中的一些逻辑图层组,然后将每个组添加到各自的地图文档。为各个地图文档发布服务,然后为每个服务创建一个融合缓存。然后可在 Web 应用程序或 ArcMap 中叠加这些融合缓存。
提示:如果使用以上方法叠加融合缓存,确保对每个缓存使用相同的切片方案。此外,直接将融合缓存添加到客户端应用程序可获得最佳性能。避免在服务中嵌入一项或多项服务。
以下是有关多图层缓存行为的更多注释:
- 建议使用 ArcMap 作为处理多图层缓存的客户端。在 Web 应用程序中使用多图层缓存与使用非缓存地图服务相比基本没有任何优势。
- 多图层缓存不可用于基于 MSD 的服务。
- 图层组在多图层缓存中被视作一个图层。无法打开或关闭图层组中的图层。
按需创建切片
缓存 选项卡包含创建按需切片复选框。如果选中此框,则当客户端首次请求之前未缓存区域的切片时,会将这些切片添加到缓存中。
性能提示:启用按需缓存后,若客户端应用程序使用 ArcGIS Server Internet 连接而不是 ArcGIS Server 本地连接,则可以获得更好的性能。
关于服务器缓存目录
服务器缓存目录是位于存储缓存切片的磁盘中的文件夹。一个服务器缓存目录可存储多个缓存;但如果需要,可将多个服务器缓存目录添加到服务器。在缓存 选项卡上,可以选择用于存储缓存的服务器缓存目录。
如果将所有 ArcGIS Server 组件都安装在一台计算机上,系统会为您创建服务器缓存目录。(默认位置为 C:\arcgisserver\arcgiscache。)还会创建引用此位置的虚拟目录。
如果将 ArcGIS Server 组件安装在多台计算机上,需要自行配置服务器缓存目录及其关联的虚拟目录。有关详细信息,请参见创建服务器目录和配置多机部署。确保向 SOC 帐户授予服务器缓存目录的写访问权限,以使 ArcGIS Server 可成功地将切片保存到该目录中。完成创建缓存时,可选择删除“写”访问权限。
服务器缓存目录中的文件夹结构
可在 Windows 资源管理器中打开服务器缓存目录以检查缓存切片和切片方案文件 conf.xml。另一个文件 conf.cdi 包含服务的默认范围信息,在 ArcGIS Desktop 中以栅格数据集形式查看缓存时需要使用它。
切片以目录等级形式组织。顶级目录和地图服务具有相同的名称,除非服务创建于 GIS 服务器文件夹。如果地图服务在某个文件夹中,则顶级目录的名称为 <文件夹名称>_<地图服务名称>。
如果更改地图服务名称或地图数据框名称,需要手动重命名缓存文件夹以保持匹配。
在顶级目录下,会发现要进行缓存的地图中特定数据框的子目录。然后,根据创建的是单个融合缓存还是多图层缓存,会发现单个子目录 _alllayers,或多个名称取自多图层缓存中要进行缓存的特定图层的子目录。
在每个子目录内,会发现对应于各个细节等级的子目录。这些细节级别子目录的结构取决于使用的是紧密存储格式还是松散存储格式。
- 如果使用紧密存储格式,会在级别文件夹中直接看到包文件。这些包文件包含切片。
- 如果使用松散缓存格式,会看到每个切片行的子目录,最后会看到在行中表示特定列的实际图像文件。
服务器缓存目录还可包含一个 GlobeCache 文件夹,该文件夹包含服务器缓存目录内存储的所有 globe 缓存。