规划地图缓存

构建地图缓存之前,考虑将要使用的切片方案以及构建缓存所需的资源非常重要。此外,您可能还需要对地图文档进行其他的设计,以确保该文档在切片方案的各个比例级别中都可使用。

创建大型缓存往往需要占用大量的时间和资源,因此在开始生成缓存之前,需要确保该操作能够获得预期结果。如果可能,可对较小的地图区域进行缓存构建测试,或仅创建几个较低级别的缓存,以确保图像能够达到预期的显示效果。

设计将缓存的地图

在创建纸质地图时,地图仅能以一个比例显示。显示地图详细信息的插图可使用一个或两个其他的比例。为获得精确的制图综合、符号系统及标注而对地图进行调整颇有难度,即使对于这种小的比例级数也不例外。如果所创建的地图将进行缓存并在计算机屏幕上显示,您需要更加谨慎,必须确保此地图在所有缓存比例下都清晰可辨并有使用价值。

从模板入手

ArcGIS 资源中心的地图模板页面提供了许多可供下载的多比例地图示例。这些“地图模板”中包含示例地图文档和数据集,您可以根据自己的数据类型和设计需要对其加以修改。目前已经提供了街道、地形、政府基础设施、踪迹、历史事件和参考叠置(可放置在影像上进行查看)的模板,将来还会推出更多模板。即使不计划使用这些模板,仅下载少量的模板并分析地图内容列表和数据集的组织方式,也有助于您了解如何成功地构建多比例地图。

本帮助主题的其余部分将深入探讨缓存地图的设计原则(模板中已应用了这些设计原则)。如果所设计的地图将用于在 Web 应用程序中叠加 ArcGIS Online、Bing 地图或 Google 地图服务,则还应阅读设计地图以叠加 ArcGIS Online、Google 地图或 Bing 地图

选择比例并设置比例可变选项

通过对标注和要素应用比例可变选项可确保地图的设计精美完善。可查看以下缓存图像的示例。在放大地图时,请注意地图上的文字和符号如何相应变化以传达更详细的信息。道路线变得更粗,而城市由面代替点来表示。类似地,地图将切换到更为详细的数据集,因为所使用的数据集在缩小时显示的内容过于粗略而在较大的缩放级别下不具有使用价值。街道及其标注仅在最大的比例下可见,因为在其他比例下它们会使地图变得混乱。这些因比例不同而发生的变化有助于地图以有序方式传达更详细的信息。

可将地图上的任何要素或标注配置为仅在某些比例下可见,或是依照此比例以不同方式进行绘制。应该谨慎协调好针对地图图层所设置的比例可变选项和针对切片方案所选的比例级别之间的关系。对于应用了比例可变选项的要素,除非切片方案中包含能使该要素可见的比例级别,否则该要素将无效。

例如,如果已经使用的比例范围可在用户放大比例超过 1:2,000 时显示某些要素,并且您不想将缓存的最大比例设置为 1:2,500,否则用户将无法看见此要素。向切片方案添加一个 1:1,250 比例可确保此要素对用户可见。如果不希望添加额外的比例,则可更改比例范围以使要素可在放大比例超过 1:3,000 时显示。

如果您要对没有更改权限的地图进行缓存,仍可设计切片方案以充分利用地图的特征。如果可能,请在 ArcMap 中打开地图并检查图层属性,以判定是否存在比例可变图层以及在哪个比例下可打开和关闭这些图层。如果图层存在比例可变选项,可请考虑在切片方案中添加一个能显示图层的比例级别。例如,如果图层设置为在 1:150,000 和 1:250,000 之间的比例下可见,则可以在切片方案中加入 1:200,000 作为比例以确保该图层在缓存中可见。

选择坐标系

要缓存的数据框可使用任何坐标系。但是,如果需要将此缓存与其他缓存进行叠加,则这两种缓存应使用相同的坐标系。这同样适用于将缓存与在线制图服务中的切片进行叠加的情况。ArcGIS Online 服务、Google 地图和 Microsoft Bing 地图都使用 WGS 1984 Web 墨卡托(辅助球体)投影坐标系。

遗留问题遗留问题:

在 ArcGIS 10 之前,ArcGIS Online 服务使用的是 WGS 1984 地理坐标系。这些服务已退出使用,任何叠加 ArcGIS Online 服务的新建缓存都应使用 WGS 1984 Web 墨卡托(辅助球体)投影坐标系。

规划图层可见性

默认情况下,缓存工具将地图视为整体进行融合缓存。这意味着地图中的所有图层将被缓存为一张图像。因此,您无法在融合缓存中开启和关闭图层。

由于融合缓存的速度快,因此将其作为默认缓存类型。对于服务器而言,获取一张图像的速度要比获取多张图像的速度快。创建融合缓存的替代方式为使用多图层缓存类型。在此类缓存中,可在地图中选择将一起缓存的图层组。但是,这意味着当客户端使用该缓存时,需要等待服务器检索多张图像并进行叠加和绘制标注。除非使用 ArcMap 作为客户端,否则使用多图层缓存类型不会对性能有显著提升。

那么如何在使用融合缓存时开启及关闭图层呢?一般来说,客户端叠加 n 张融合缓存图层的速度要快于叠加 n 张多图层缓存图层的速度。因此,一种解决方案就是将地图中的相关图层进行分组,然后将各组放入各自的地图文档中。发布地图服务并为各个地图文档创建融合缓存。

例如,假设您的地图文档包含以下图层:Banks、Restaurants、Museums、Libraries、Shopping centers、Parcels、Roads、Rivers、County boundaries、Lakes、Parks 及 Elevation。

如果仅使用 ArcMap 查看该文档,则可随意开启和关闭这些图层。但如果要使用地图缓存在 Web 上发布此地图,则需要合并部分图层。通过分析图层列表可得出以下三个逻辑分组,可根据这些分组分别创建单独的地图文档:

地图文档 1(关注点)

  • Banks
  • Restaurants
  • Museums
  • Libraries
  • Shopping centers

地图文档 2(人文景观)

  • Parcels
  • Roads
  • Parks
  • County boundaries

地图文档 3(地理特征)

  • Rivers
  • Lakes
  • Elevation

对于每个地图文档,可使用融合缓存创建地图服务。请确保每个缓存所使用的切片方案都相同。然后即可叠加这三个地图服务。

如果您觉得没有必要将地理特征和人文景观分开查看,则可放心地将地图文档 2 和地图文档 3 合并为一个地图文档,从而在更大程度上改善性能。

预估缓存创建时间

在为地图服务创建缓存时,ArcGIS Server 必须渲染地图图像,所渲染图像的完整范围为您在所设置的各个比例级别下指定的缓存区域。在多图层缓存中,ArcGIS Server 必须针对每个图层重复该过程。此外,它还必须创建必要的文件和文件夹结构以保存缓存。

创建缓存所需的时间也取决于所选的比例级别、专用于构建缓存的服务器资源量及地图中信息的密度。即使使用的是功能强大的服务器,有时生成大型缓存也需要耗费数天或数周的时间。在很多情况下,考虑到通过使用缓存而获得的性能提升,花费大量时间来创建缓存是很有价值的。

注: 虽然生成缓存需要耗费大量的时间,但不必担心服务会超时的问题。在创建缓存之前,缓存工具会自动将服务的最大允许使用时间调整为较高值。在缓存生成之后,缓存工具会将最大使用时间恢复为初始值。

选择缓存类型

如果使用融合缓存类型(此类型将所有图层一同缓存到一张图像中),生成缓存的速度将更快。在创建多图层缓存时,服务器将各个图层分别缓存为单独的一组图像。这意味着必须在缓存范围内对任何比例级别下的各个图层进行渲染。因此,指定的图层越多,生成缓存所需的时间就越长。

选择比例级别

选择缓存的比例级别时,切记地图的放大比例越大,覆盖地图范围所需的切片就越多,而生成缓存所需的时间也就越长。在每次二等分比例的分母时,地图中的每个方形区域将需要四倍的切片数来覆盖。例如,1:500 比例下方形地图包含的切片数是 1:1,000 比例下地图所包含切片数的 4 倍,而 1:250 比例下方形地图包含的切片数是 1:1,000 比例下地图所包含切片数的 16 倍。

要了解缓存中所包含切片的数量快速递增的情形,请在 ArcMap 中打开地图。缩小地图以便查看一个空间大小约为 256 像素(宽)x 256 像素(高)的地图区域。(该区域将随着显示设置的不同而变化。某一条边可能为 2.5–3.25 英寸 [6.35–8.26 厘米]。)使用该比例时,默认设置下需要一个缓存来覆盖区域。现在对当前比例的分母进行二等分。(例如,如果原来是在 1:40,000 比例下查看地图,则可放大到 1:20,000 比例。)在该比例下,将需要四个切片来覆盖同一区域。对分母再次进行二等分,则覆盖此区域将需要 16 个切片。下表显示了覆盖原始方形区域所需的切片数随着对分母进行二等分而不断增加的情况。在第一级比例 1:32,000,000 下,可使用一个大小为 256 x 256 像素的切片覆盖一个与美国西部区域大小接近的区域。

第 1 级

1:32,000,000

1 个切片

第 2 级

1:16,000,000

4 个切片

第 3 级

1:8,000,000

16 个切片

第 4 级

1:4,000,000

64 个切片

第 5 级

1:2,000,000

256 个切片

第 6 级

1:1,000,000

1,024 个切片

第 7 级

1:500,000

4,096 个切片

第 8 级

1:250,000

16,384 个切片

第 9 级

1:125,000

65,536 个切片

第 10 级

1:62,500

262,144 个切片

第 11 级

1:31,250

1,048,576 个切片

服务器资源

指定处理缓存的服务实例越多,生成缓存的速度就越快。一般来说,每个指定用于缓存的 CPU 能处理大约三个实例,可能某些 CPU 还能处理更多的实例。有关专用于缓存的实例数的说明,请参阅分配服务器资源以创建地图缓存

地图中信息的密度

地图内信息的密度会影响缓存的大小及创建缓存所需的时间。与结构趋同的地图区域相比,色彩和图案经常变化的区域产生的缓存切片将更大。例如,带有高分辨率栅格影像的地图很可能需要较大的切片,这不是因为硬盘上的原始影像尺寸大的缘故,而是由于色彩和图案在不同影像像素之间会发生变化。

同样,对于包含图层较多且在 ArcMap 中需要花费相对较长时间来渲染的地图,创建缓存所需的时间通常会更长。这是因为服务器针对各个比例级别创建切片,因此必须重复渲染相应的地图图层。

地图服务绘图引擎

从 9.3.1 版本开始,ArcGIS Server 包含了一个改善的绘图引擎,此绘图引擎使用的是地图服务定义 (.msd) 文件。在 ArcMap 中使用“地图服务发布”工具条发布地图时,将创建 .msd 文件并使用快速绘图引擎。如果以传统方法发布地图(即,将地图文档 (.mxd) 文件用作源),将不使用快速绘图引擎。

基于 MSD 的服务创建切片的速度往往要快于基于 MXD 的服务。其时间差异取决与所用的符号以及地图的大小和比例。

监视缓存的进度

“管理地图服务器缓存切片”工具包含一个进度条,便于用户查看已完成缓存的百分比。另外还可打开 Windows 资源管理器并通过观察缓存目录中已创建的文件和文件夹的数量来查看缓存进度。请记住,缓存的最大比例所需的绘制时间将最长。根据所选的缓存比例,最后的单个图层需要的绘制时间可能比其他所有图层总共花费的时间还要长。

准备硬件

可在 GIS 或 Web 服务器层中的任何计算机、独立的存储区域网络 (SAN) 或网络连接存储 (NAS) 设备上存储缓存。如果资源充足,可在部署时选择一或多台计算机专门用于构建和存储缓存。

默认情况下,Windows 可存储文件的最小空间(簇大小)是 4 千字节。如果缓存中包含许多大小不足 4 KB 的切片,您将注意到缓存所占用的磁盘空间要远大于文件的实际大小。要将空间浪费降至最低,可使用 ArcGIS Server 10 中引入的紧密缓存存储格式,或是将切片存储在已被格式化为较小簇大小(如 1 KB 或 512 字节)的磁盘或磁盘分区上。

要了解是否多数切片比簇大小更小,最好的方法是对有代表性的地图区域进行缓存创建测试并检查生成的切片的大小。以下缓存类型生成的文件往往较小,因而最适合以较小的簇大小存储:

以上关于小文件的内容仅适用于松散型存储格式。与此相反,紧凑型存储格式能够以连续的索引数据流形式存储切片,从而节省空间的浪费。有关详细信息,请参阅可用的地图缓存属性


3/7/2012