构建地图缓存之前,考虑将要使用的切片方案以及构建缓存所需的资源非常重要。此外,您可能还需要对地图文档进行其他的设计,以确保该文档在切片方案的各个比例级别中都可使用。
创建大型缓存往往需要占用大量的时间和资源,因此在开始生成缓存之前,需要确保该操作能够获得预期结果。如果可能,可对较小的地图区域进行缓存构建测试,或仅创建几个较低级别的缓存,以确保图像能够达到预期的显示效果。
准备硬件
可在 GIS 或 Web 服务器层中的任何计算机、独立的存储区域网络 (SAN) 或网络连接存储 (NAS) 设备上存储缓存。如果资源充足,可在部署时将一台或多台计算机专门用于构建和存储缓存。
默认情况下,Windows 可存储文件的最小空间(簇大小)是 4 千字节。如果当前创建的松散缓存中包含许多大小不足 4 KB 的切片,您将注意到缓存所占用的磁盘空间要远大于文件的实际大小。为了最大程度地减少此浪费的空间,请使用紧凑缓存存储格式。
设计将缓存的地图
在创建纸质地图时,地图仅能以一个比例显示。显示地图详细信息的插图可使用一个或两个其他的比例。为获得精确的制图综合、符号系统及标注而对地图进行调整颇有难度,即使对于这种小的比例级数也不例外。如果所创建的地图将进行缓存并在计算机屏幕上显示,您需要更加谨慎,必须确保此地图在所有缓存比例下都清晰可辨并有使用价值。
从模板入手
您可以下载多比例地图的示例。这些地图模板中包含示例地图文档,您可以根据自己的数据和设计需要对其加以修改。即使不计划使用这些模板,仅下载少量的模板并分析地图内容列表和数据集的组织方式,也有助于您了解如何成功地构建多比例地图。
本帮助主题的其余部分将深入探讨缓存地图的设计原则(模板中已应用了这些设计原则)。如果所设计的地图将用于在 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 墨卡托(辅助球体)投影坐标系。
旧版本:
在 10.0 及较早版本中,ArcGIS Online 服务使用的是 WGS 1984 地理坐标系。这些服务没有再更新,任何叠加 ArcGIS Online 服务的新建缓存都应使用 WGS 1984 Web 墨卡托(辅助球体)投影坐标系。
规划图层可见性
缓存工具将地图服务中的所有图层合并到一张图像中。因此,您无法打开或关闭图层。此行为会提高缓存速度。对于服务器而言,获取一张图像的速度要比获取多张图像的速度快。
旧版本:
在 10.1 版本中移除了较早版本 ArcGIS Server 中可用的“融合”和“多图层”缓存选项。现在,所有缓存均为融合缓存,实际上这是在所有情况下的最佳执行选项。
那么如何保留打开和关闭图层的能力呢? 一种解决方案就是将地图中的相关图层进行分组,然后将各组放入各自的地图文档中。发布地图服务,并为各个地图文档创建缓存。
例如,假设您的地图文档包含以下图层:Banks、Restaurants、Museums、Libraries、Shopping centers、Parcels、Roads、Rivers、County boundaries、Lakes、Parks 和 Elevation。
如果仅使用 ArcMap 查看该文档,则可随意打开和关闭这些图层。但如果要使用地图缓存在 Web 上发布此地图,则需要合并部分图层。通过分析图层列表可得出以下三个逻辑分组,可根据这些分组分别创建单独的地图文档:
地图文档 1(关注点)
- Banks
- 餐厅
- Museums
- 库
- Shopping centers
地图文档 2(人文景观)
- 宗地
- 道路
- 公园
- County boundaries
地图文档 3(地理特征)
- Rivers
- Lakes
- Elevation
对于每个地图文档,可使用缓存创建地图服务。请确保每个缓存所使用的切片方案都相同。然后即可叠加这三个地图服务。
如果您觉得没有必要将地理特征和人文景观分开查看,则可放心地将地图文档 2 和地图文档 3 合并为一个地图文档,从而在更大程度上改善性能。
缓存创建时间
在为地图服务创建缓存时,服务器必须绘制地图图像,所绘制图像的完整范围为您在所设置的各个比例级别下指定的缓存区域。此外,它还必须创建必要的文件和文件夹结构以保存缓存。
创建缓存所需的时间也取决于所选的比例级别、专门用于构建缓存的服务器资源量及地图中信息的密度。即使使用的是功能强大的服务器,有时生成大型缓存也需要耗费数天的时间。在很多情况下,考虑到通过使用缓存而获得的性能提升,花费大量时间来创建缓存是很有价值的。
注:
虽然生成缓存需要耗费大量的时间,但不必担心服务会超时的问题。CachingTools 服务使用非常高的使用超时值。
比例级别
选择缓存的比例级别时,切记地图的放大比例越大,覆盖地图范围所需的切片就越多,而生成缓存所需的时间也就越长。在每次二等分比例的分母时,地图中的每个方形区域将需要四倍的切片数来覆盖。例如,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 个切片 |
服务器资源
指定用于处理缓存的 CachingTools 地理处理服务的实例越多,生成缓存的速度就越快。有关专用于缓存的实例数的说明,请参阅分配服务器资源以创建地图缓存。
地图中信息的密度
地图内信息的密度会影响缓存的大小及创建缓存所需的时间。与更加均匀的地图区域相比,色彩和图案经常变化的地图区域产生的缓存切片将更大。例如,带有高分辨率栅格影像的地图很可能需要较大的切片,这不是因为硬盘上的原始影像尺寸大的缘故,而是由于色彩和图案在不同影像像素之间会发生变化。
同样,对于包含图层较多且在 ArcMap 中需要花费相对较长时间来绘制的地图,创建缓存所需的时间通常会更长。这是因为服务器针对各个比例级别创建切片,因此必须重复绘制相应的地图图层。