地图制作注意事项

要使地图服务在 Web 上可用,您需要在 ArcMap 中制作地图并将其发布到 ArcGIS Server 站点,并且之后在客户端应用程序中使用所生成的地图服务。使用地图服务执行各种操作之前,需要在地图制作的最初阶段做一些必要的准备工作。本主题涵盖了在制作一幅计划发布到站点的地图时需要考虑的一些问题。

一般性提示

下面的提示对于所有将要发布到 ArcGIS Server 站点的地图文档都很重要:

能否缓存地图以提高性能?

如果地图中包含的数据不大可能发生变化,则应考虑缓存该地图以提高性能。缓存地图时,将在某些比例级别上创建一组经过预渲染的地图图像。而实际的缓存过程会在地图作为服务发布后开始执行。但是,如果事先已计划要缓存地图,则会影响地图的制作过程。最好将地图制作为在所有要缓存的比例下均显示良好。您可以使用任何不会影响性能的制图工具,因为这些缓存切片只是一系列数据图片;缓存创建完成后,您便不会用到实际的渲染和标注引擎。

如果无法缓存地图,则渲染和标注引擎将影响地图服务的性能。有关详细信息,请参阅什么是地图缓存?

针对未缓存地图的有关性能方面的提示

只要条件合适,就应该创建地图缓存。但是,如果其中的大量数据都需要频繁更改,则创建和维护地图缓存并不切实可行。这种情况下,您可以按照下面的提示来提高地图的性能。在发布地图文档的过程中,您将有机会使用服务编辑器 来分析地图。这可帮助您快速确定提高地图文档性能的方法。

提高地图服务的显示性能

当客户端向 ArcGIS Server 发送请求以显示地图服务时,服务器上的响应通常由浏览器进行缓存,并在一段时间之内重复使用。此行为有助于 ArcGIS Server 获得最理想的地图服务显示性能。但您可以考虑根据地图服务及其相关数据在应用程序中的使用方式来调整浏览器缓存中的响应将使用多长时间。通过将名为 cacheControlMaxAge 的属性添加到服务的 JavaScript 对象标记法 (JSON),可实现上述操作。

cacheControlMaxAge 属性的使用方式

ArcGIS Server 地图服务响应包括实体标签 (ETag) 和缓存控制头。ETag 头值是响应的唯一标识符。缓存控制头具有一个最长期限值,该值可向浏览器提供有关浏览器缓存中响应可供重复使用的最大时段的信息。该值由 cacheControlMaxAge 属性控制。

如果重复请求且尚未超过缓存的最长期限,则浏览器将使用缓存的响应而不会将请求发送到服务器。如果最长期限已过期,则浏览器必须将请求发送到服务器,并通过与其缓存中响应相对应的相关 ETag 值设置 IF-NONE-MATCH 头。ArcGIS Server 将评估请求,并使用 ETag 值来确定响应是否更改。如果服务器的响应与浏览器中的副本不同,则服务器会将一个全新的响应发送到浏览器。如果响应与浏览器中的副本一致,则服务器将提示浏览器继续使用其缓存中的响应。

定义 cacheControlMaxAge 属性值

ArcGIS Server 管理员可定义 cacheControlMaxAge 属性,以指定允许浏览器使用缓存响应的时长。通过减少 ArcGIS Server 发送完整响应的需要,可提高浏览器缓存的效率,有助于优化应用程序,从而节省网络带宽。

地图服务的默认值为 0。这表示浏览器始终重新发送请求,且 ArcGIS Server 将处理请求并在内容发生更改时向浏览器发送完整的响应。此值适用于大多数应用程序。

对于含有频繁更改的数据集或符号系统的地图服务,建议使用 5 分钟(300 秒)等值。如果应用程序含有动画或时间感知型数据,则应考虑增加该值从而为应用程序提供更为流畅的动画体验。

要将 cacheControlMaxAge 属性添加到服务并指定其默认值,请执行以下操作:

  1. 在 Web 浏览器中打开 ArcGIS Server 管理员目录,然后以具有管理员权限的用户身份进行登录。URL 的格式为 http://gisserver.domain.com:6080/arcgis/admin
  2. 单击服务,然后从服务列表中选择要修改的地图服务。如果此处没有列出您的服务,则可能在根文件夹下的目录中列出。
  3. 服务 - <服务名称>(<服务类型>)页面中滚动至底部,然后单击编辑
  4. 服务属性对话框中,找到服务 JSON 的 "properties" 部分。
  5. cacheControlMaxAge 属性添加到该部分,然后指定属性值(以秒为单位),如:
    "properties": {
      "cacheControlMaxAge": "300",
    
  6. 单击保存编辑内容
  7. 服务 - <服务名称>(<服务类型>)页面中,验证属性部分中是否显示 cacheControlMaxAge 属性以及您为该属性指定的值。

是否要在移动设备上查看地图?

通过移动数据访问功能可提取地图服务中的内容,以便在 Tablet PC 或 Windows 移动设备上进行查看。如果计划在移动设备上查看地图,则应尽量使地图简单。请考虑为背景图层和参考图层应用数据概化(例如对面要素进行平滑处理以及降低栅格分辨率等)。这有助于加快地图的绘制速度。

是否要通过此地图在服务器上执行网络分析?

如果要使用此地图在服务器上执行网络分析,则需要添加一个引用某网络数据集的网络分析图层。地图服务发布后,便可启用 Network Analysis 功能。这将创建一个 Web 服务,用于在地图中执行各种网络分析任务。

6/13/2014