构建可操作地图图层

每个地图应用程序都需要一组供特殊用户组使用的可操作地图图层。例如,用户可以在底图之上显示观测值、传感器馈送值和查询结果,以执行一系列工作任务并完成特定任务和目标。这些可操作图层通常还包括一组用于处理地图图层的工具。

这里介绍了一些最常用的可操作地图图层类型,以帮助您了解所要提供的操作性信息类型。

可操作地图图层的特征

注注:

另外值得注意的是,GIS 底图中使用的某些数据集还经常在 Web 地图应用程序中用作可操作图层的数据源。在您为此规划自己的设计时,最好考虑如何将这些数据集的可操作地图图层叠加到底图之上并使其与底图良好地配合使用。

可操作地图服务的三种发布方法

有三种常用的方法用于为最终用户发布可操作地图服务以供他们在 GIS 地图应用程序中使用:

1. 发布动态地图服务

可以使用 ArcGIS Server 发布的一种地图服务类型是动态地图服务。顾名思义,该地图图层显示是动态生成的。换言之,在您每次向服务器发出请求以显示地图服务时,都会计算和提供这种显示画面。由此得到的地图图像将发送到请求方应用程序并叠加到底图上。

要创建使用 ArcGIS Server 提供的动态地图服务,首先需要创建一个 ArcMap 文档并将其以地图服务的形式发布。由此得到的地图服务将在 Web GIS 地图应用程序中作为单个地图图层使用。

可操作图层的 ArcMap 文档应非常简单,只需包含一个或几个获得焦点的地图图层即可。由此得到的地图服务可提供对数据的访问途径,从而使您可以显示和处理操作性信息。

此动态地图服务通常显示在底图服务之上。可操作地图图层通常与其他少数获得焦点的可操作地图图层结合使用,同时显示这些获得焦点的可操作地图图层是为了提供状态地图。

您可以在 ArcMap 中创建一个引用地图图层的地图文档,所引用的地图图层将经过频繁的更新或作为分析模型的结果生成。例如,如果您的用户将在 Web 地图应用程序中编辑一个地图图层,此地图图层一定会是动态的。在这种情况以及其他很多情况下,最好在每次即将绘制地图时都计算该地图图层。

动态地图服务的优点是能够提供可操作图层的最新准确状态。但是,动态地图图层通常是 Web 地图绘制方法中最慢的一种方法。请使用基于地图服务定义 (MSD) 的地图服务,这一点很重要,因为这些地图服务将使用适用于 ArcGIS Server 的最快的动态绘制方法。要了解有关 MSD 的详细信息,请参阅地图服务性能和功能

2. 发布缓存地图服务

提供可操作地图图层的另一种备选方法是使用缓存地图服务,其中地图显示是预先算出的,并且提前存储在地图缓存中。这种情况下,不必在用户每次从服务器请求获取地图时都重新计算可操作地图图层的显示。此时将从服务器检索相应的地图切片,这将大大提高性能和可扩展性。

某些情况下,可操作地图图层的静态性较强,很少发生更改。这意味着您可以通过预先计算地图来定期更新这些图层,而不是在每次从服务器请求获取地图时都计算一个新地图。这样,每个人对于他们将要使用的地图服务都可以实现更快速、更高效的访问。

缓存地图服务的扩展能力非常强,这意味着它们可对服务器上的很多并发命中项做出快速的响应。如果您预期用户流量会非常大,则对图层进行缓存处理是值得的,即使您需要对缓存进行频繁地更新。请参阅地图缓存更新,以了解更新缓存的最佳策略。

如果您没有时间或足够的磁盘空间来为缓存创建所有切片,则可以预先创建一些切片,然后在需要时创建其余切片。当第一个用户命中地图服务器时,会为请求的区域(一组地图切片)计算地图缓存,从而构建缓存。其他所有用户中无论是谁访问这些地图切片,都只需要使用新地图缓存即可。每次用户发出请求时,都会对该缓存地图切片(如果存在)进行检索。否则,将计算切片并对其进行缓存。只有第一个用户需要计算地图显示,然后其他用户才能命中可操作图层的缓存地图。

有关构建缓存地图服务的详细信息,请参阅有关地图缓存的提示及最佳做法

3. 以地图图形和文本的形式显示查询结果

显示操作性信息的一个最有效机制是使用查询结果。对 GIS 服务器进行查询将以一个较小的记录集形式返回一组要素结果。从服务器返回的查询结果包括一组要素及其坐标,以及由每个要素的属性组成的属性集。这些结果以交互式图形和描述性信息的形式显示在地图上,您可以对这些图形和信息进行操作、绘图和汇总,并可以将其用作超链接(单击即可访问关于每个要素的更详细信息)。

此方法需要利用应用程序编程来创建结果的地图图层。每个 ESRI Web 制图 API 都包含有关在地图上查询并以客户端图形的形式显示结果的帮助。


7/10/2012