创建快速地图服务的最佳方式就是对其进行缓存。对地图服务进行缓存时,服务器会以您定义和保存图像的一组比例级别来绘制地图。当服务器接收到对地图的请求时,返回缓存图像中的地图会比重新绘制地图更加快捷。
缓存适用于不经常更改的底图和地图。对于偶尔更改的地图,可通过工具来更新缓存。要获得最佳性能,应当缓存尽可能多的图层。制作两张地图并将适合缓存的图层与不能进行缓存的图层分开,您会发现这非常有用。例如,可以由底图图层创建缓存的地图服务,而由实时更新的图层或者因分析或建模而更改的图层创建非缓存地图服务。
构建缓存之前,您需要执行细致的设计和创作工作,从而创建有效的地图缓存。本主题介绍了规划及创作要缓存地图的过程。然后发布地图服务并指定构建缓存的时间。最后,将在客户端应用程序中测试缓存。
在开始之前
如果您刚刚安装了 ArcGIS Server,那么在 ArcMap 中 连接到服务器并发布服务之前,需要完成一些准备工作:
- 有关如何配置 ArcGIS Server 站点的详细信息,请参阅安装完毕后了解入门知识。
- 要了解如何使 GIS 资源中引用的数据对该服务器可用,请参阅使数据可供 ArcGIS Server 访问。
创建地图
对地图进行缓存时,服务器会以您选择的一组比例来绘制地图。地图绘制完成后,除非重建或更新缓存,否则无法更改它的显示方式。这意味着需要特别注意以下两点:
- 缓存地图前,需要使其在每个比例级别都有良好的显示效果 - 纸质地图只需在一个比例具有极佳的显示效果,但缓存地图则必须考虑每个缓存比例下的效果。
- 您所选择的比例级别非常重要 - 如果选取的比例太少,用户可能感觉缺少信息或无法获得良好的地图视图。如果选取的比例过多或选取了不必要的比例,则会增加缓存的创建时间和所占用的存储空间。相反,您的组织可能已经确定了缓存时要使用的切片方案。切片方案确定了缓存的某些属性,包括创建哪种比例级别。
指定坐标系
设计此地图时,您需要设置数据框架以使用特定坐标系。这是用于显示缓存切片的坐标系。
- 启动 ArcMap 并打开一个新的空地图文档。
- 在 ArcMap 内容列表中,右键单击数据框名称(默认为图层),然后选择属性。
- 单击该坐标系选项卡并选择您希望用于地图的坐标系。
- 单击 确定。
设计地图
接下来该进行真正的地图设计工作了。缓存地图的一个优点是,在设计阶段,您可以随时使用所有制图工具,而不用担心它们对性能的影响。花点时间来让地图看起来美观一些,因为一旦缓存创建完成,不重新创建或更新缓存就无法进行更改。缓存用户也不能更改符号系统,因为他们仅是在查看存储于服务器上的预先存在的地图图像。
一种很好的做法是在每个比例间隔下设计地图。这对栅格数据来说更加简单,因为更改比例时,ArcMap 会对数据进行一些重采样。然而,必须使用相同大小的点和线在每个比例上对矢量数据进行符号化,并且需要更多一点精力来防止地图看起来过于凌乱或过于稀疏。以下步骤介绍,在地图包含矢量数据的情况下,可以使用的一种设计策略。
- 仍然在 ArcMap 中,添加数据集并缩小至最远(最小)比例。如有必要,纠正投影问题。所有数据集都需要使用相同的投影,这样才能正确缓存。
- 为该比例设置图层的符号系统和标注。
提示:
您可能需要设置一个定义查询,以便在该比例上仅较少要素可见。例如,如果有一个城市图层,您可以设置一个定义查询,将显示范围限制为人口大于 20,000 的城市。
- 放大至下一个最接近的比例,然后为该比例设置图层的符号系统和标注。
提示:
如果想在已经符号化的图层上,将符号、标注或定义查询更改为不同比例,请向地图添加图层的另一个副本。为此,在 ArcMap 内容列表中右键单击该图层,然后单击复制。然后右键单击数据框名称,并单击粘贴图层。
- 创建图层组以跟踪图层的副本。针对每个比例制作一个图层组是最简便的。这样,只需对组来设置比例可变选项,而不用为每个单独图层进行设置。甚至可以将比例包含在名称中。
- 设置每个图层组的比例范围,以使在每个已缓存比例下只有一个图层可见。针对每个缓存比例配置带容差的比例范围。例如,如果一个图层组将在 1:577,791 比例下进行缓存,您可以将图层设置为仅在缩小比例超过 1:866,686 且放大比例超过 1:433,343 时才是可见的。
- 继续缩放至每个连续比例并适当进行符号化,直至完成比例列表中的所有比例。
- 保存地图。您已经为发布地图准备就绪。
发布地图并创建缓存
使用 ArcMap 将地图文档发布到 ArcGIS Server。在此过程中,您将定义地图缓存的方案并分析地图文档以保证性能。还需要在希望创建缓存时指定。
- 在 ArcMap 中打开地图文档,从主菜单中选择文件 > 共享为 > 服务。
- 在共享为服务窗口中,选择发布服务。单击下一步。
- 在发布服务对话框中,单击连接到 ArcGIS Server 以创建一个到服务器的新连接。
- 在添加 ArcGIS Server 窗口中,选择发布 GIS 服务。单击下一步。
- 对于服务器 URL,输入要连接的 ArcGIS Server 站点的 URL。URL 格式将为 http://gisserver.domain.com:6443/arcgis。
- 在服务器类型下拉列表中选择 ArcGIS Server。
- 输入对 ArcGIS Server 至少具有发布者权限的用户名和密码。如果没有考虑安全的问题而建立用户和角色,一种选择是使用创建站点时定义的主站点管理员帐户。保留复选框处于选中状态以保存用户名和密码。然后单击完成。
- 还可以在发布服务窗口中,输入新的服务名称。单击下一步。
- 默认情况下,服务会发布到 ArcGIS Server 的根文件夹下。也可将服务组织到根文件夹下的子文件夹中。选择要将服务发布到其中的文件夹,或创建一个包含服务的新文件夹。单击继续。
- 服务编辑器随即显示。您将使用服务编辑器选择用户可对缓存的地图服务执行的操作,定义缓存方案,还可对服务器显示服务的方式进行精细的控制。单击缓存选项卡。
- 在缓存选项卡中,选择使用缓存中的切片绘制地图服务。
- 在切片方案下拉列表中,选择缓存的切片方案。切片方案用于确定切片的创建比例以及切边的边界。它含有与缓存坐标系以及一些其他属性有关的信息。选择切片方案的方法有多种:
- 如果要使用与 ArcGIS Online、Bing 地图和 Google 地图缓存相同的切片方案,请选择 ArcGIS Online/Bing 地图/Google 地图。地图中的数据将动态投影至此切片方案的坐标系中,即 WGS 1984 Web Mercator (Auxiliary Sphere)。
- 如果要使用与 WGS84 地理坐标系版本 2 缓存相同的切片方案,请选择切片方案文件,然后浏览至 C:\Program Files (x86)\ArcGIS\Desktop10.5\TilingSchemes\WGS84_Geographic_Coordinate_System_V2.xml。地图中的数据将动态投影至此切片方案的坐标系中,即 WGS 1984。
- 如果希望使用您自己的切片方案,请选择切片方案文件,然后浏览至某个使用生成地图服务器缓存切片方案工具创建的切片方案 XML 文件。
- 如果要使用现有地图服务所采用的切片方案,请选择现有的缓存地图/影像服务,然后浏览至该服务。
- 如果希望由 ArcGIS 推荐一些比例,请单击建议,然后输入希望使用的比例级数。建议此选项仅用于实验或测试目的。在多数情况下,您已经在心中设计了具有一组特定比例级别的地图。
- 使用滑块设置细节层次属性。
切片方案通常含有多个比例。根据特定地图,您可能希望放弃在切片方案中极大的或极小的比例处创建缓存。ArcGIS 检查地图中的比例可变选项并提供进行缓存的最低和最高比例范围的建议值。您可根据喜好调整此范围。其他比例并不会从切片方案中移除,但您将无法创建它们的切片,除非您返回到此对话框并将它们包括在范围内。
- 选择在发布服务时自动构建缓存还是在发布服务后手动构建缓存。这些选项位于服务编辑器的底部。
使用报告的估计缓存大小以及更精确的随附工具计算缓存大小可帮助您确定此选项(要了解这些估计值的详细信息,请参阅估计地图缓存的大小)。如果缓存过大,最好分阶段手工构建,在最常访问的所选感兴趣区构建最大比例的缓存。如果缓存较小,在发布时自动构建整个缓存则会更加容易。
- 如果选择在发布时自动创建缓存,则在左侧菜单中单击高级设置,然后选择要缓存的感兴趣区。
如果正在缓存的地理范围形状不是矩形,建议您选择从要素类导入并浏览至含有感兴趣地理范围的简单要素类。有关准备此要素类的指导原则,请参阅基于要素边界的地图缓存。
- 根据需要调整高级设置选项卡中的其他属性。可用的地图和图像缓存属性中介绍了这些设置。发布后,您还将能够在 ArcGIS Server Manager 中编辑服务缓存属性。
- 单击分析 。该操作可用于对地图文档进行检查,看其是否能够发布到服务器。
提示:
配置地图服务时为获得更多视图区域,请单击服务编辑器顶部的折叠按钮。
- 将地图发布为服务之前,必须修复准备窗口中出现的所有错误 。另外,您还可以修复警告和通知消息,以进一步完善服务的性能和显示。有关解决这些问题的详细信息,请参阅分析 GIS 资源。
注:
可将文件夹和地理数据库注册到 ArcGIS Server 站点,从而确保服务器可识别并使用数据。如果继续以下步骤,那么地图文档中所引用的来自取消注册的文件夹或地理数据库的任何数据都将在发布时复制到服务器。这是一种预防性措施,可确保服务器能够访问服务所使用的所有数据。有关将文件夹或地理数据库注册到 ArcGIS Server 站点的完整说明,请参阅使用 ArcGIS Desktop 将数据注册到 ArcGIS Server。
- 还可以在服务编辑器中单击预览。这样您便可以了解在 Web 上查看地图时地图的外观。有关详细信息,请参阅预览地图。
- 果要创建新服务,则在准备进行发布时单击发布。如果要编辑现有服务,则单击确定保存更改。
如果选择自动构建缓存,将在此时开始构建。通过在 ArcMap 中查看地理处理结果窗口,您可检查构建进度。已异步创建缓存。这表示创建缓存时您可以关闭 ArcMap。
- 如果您选择手动构建缓存,则右键单击目录窗口中的服务,并单击管理缓存 > 管理切片。然后,将显示管理地图服务器缓存切片工具,此工具可根据所选的比例和感兴趣区构建缓存切片。可以通过取消选中管理地图服务器缓存切片工具中的等待作业完成参数来执行异步缓存。
测试缓存
缓存一旦完成,就可以在 Web 应用程序中进行测试,以便确保地图按所需方式显示和执行。这也是验证应用程序能否识别并成功使用切片的好方法。
用于测试的 Web 应用程序可以是单一程序。测试地图缓存的一个好方法是使用 ArcGIS Server 服务目录下的 JavaScript 查看器应用程序。
- 在 Web 浏览器中,导航到服务目录。URL 格式将为 http://gisserver.domain.com:6080/arcgis/rest/services。
- 在服务列表中,单击地图服务。所有地图服务都追加有 (MapServer)。如果服务位于文件夹中,则导航到该文件夹并找到此服务。
- 显示页面显示服务名称、服务描述和图层列表。单击在以下位置处查看:ArcGIS JavaScript。将显示具有简单 JavaScript Web 应用程序的窗口。
- 在地图周围平移并缩放至不同级别。在地图中平移和缩放时,您会注意到地图切片非常快速地显示。
疑难解答
如果未显示出应用程序正在使用缓存的情况,请确保 ArcGIS Server 帐户对服务器缓存目录具有读取和写入权限。
如果正在使用 Mozilla Firefox 查看 Web 应用程序,则有一种简单方法来判断您的缓存切片是否正在使用。
- 右键单击 Web 应用程序,然后选择查看页面信息。
- 在页面信息窗口中,单击媒体按钮。
- 检查列表中显示的影像。如果能看到引用服务器缓存目录的 URL,则可以确信缓存正被使用。