优化 Web 地图、图层和应用程序

大多数用户将通过地图和应用程序与地理空间资源进行交互。 这些地图和应用程序又依赖于图层和 Web 服务,您可以优化每种类型资源的设置以满足用户需求。

优化 Web 应用程序

Web GIS 上下文中的 Web 应用程序通常由静态 HTML、JavaScript 和 CSS 文件组成,这些文件通过 Web 服务器交付并在客户端浏览器中呈现。 许多标准应用程序作为 ArcGIS Online 或 ArcGIS Enterprise 部署的一部分进行托管,但外部开发的应用程序可以在任何 Web 服务器上进行托管,包括已托管 ArcGIS Web Adaptor 的 Web 服务器。 下面介绍了用于优化 Web 应用程序的方法。

构建过程

在部署应用程序之前,可以使用构建进程(也称为极简化或捆绑)来缩减应用程序的静态资产的大小和复杂性,或从这些文件中移除不需要的信息。 虽然有许多方法可以建立成功且合适的构建进程,但这些过程通常与用于创作 Web 应用程序的应用程序框架密切相关。

ArcGIS Online 中托管的 Web 应用程序在部署前会自动构建,但自定义应用程序可能需要其他流程才能优化其静态资产。

HTTP 响应缓存

要优化 Web 应用程序性能,另一种方法是为 Web 应用程序的静态资产启用 HTTP 响应缓存。 此配置为最终客户端提供来自 Web 服务器的响应标头,指示静态资产可以在客户端中缓存以及可以缓存多长时间。 这允许客户端浏览器避免在重新加载应用程序时出现完整的往返请求,因为该文件的内容已本地存储到客户端计算机,并按原样重新使用,直到达到缓存有效期时间。

可以通过 Web 服务器或其他反向代理或应用程序加速软件层,有选择地为某些文件类型启用 HTTP 响应缓存。 在启用静态资产的响应缓存后,重复用户的应用程序加载速度会更快,从而改善其整体体验。

优化 Web 地图

在 ArcGIS 中,Web 地图专门用于共享,以供人们可视化共同感兴趣或关注的区域并与之交互。 可通过 Web 地图向目标受众有效传播各种数据和分析结果。 由于 Web 地图的覆盖范围可能很广,因此在构建 Web 地图时需要预先考虑各种设计方面。

图层的样式和符号系统

当您在 Map Viewer 中设置地图图层的样式时,数据的性质将确定在样式窗格中默认显示的样式选项。 然后您可以尝试色带、线条粗细、透明度、符号和其他图形元素,以查看您的选择在地图中的即时反映。 有效的符号系统选择让地图读者更容易理解地图中的信息。

符号系统也会影响绘图性能。 要呈现复杂的多层符号系统,可能需要进行大量计算。 自定义符号可能需要其他查询才能绘制图层。 请注意,不同的客户端使用不同的方法来呈现符号系统,因此您需要对所有预期呈现地图的客户端进行性能测试。

要了解有关在 web 地图中设置图层样式的详细信息,请参阅以下资源:

使用客户端聚合

要绘制具有许多在特定比例下可见的单个要素的图层,可能需要花费很长时间,并且可能难以识别空间模式。 聚类和图格等客户端聚合技术可能会减少要绘制的折点数,从而提高性能。

例如,如果图层包含 100,000 个点,而这些点聚合为 100 个聚类,则客户端只需绘制 100 个点,而不是 100,000 个点。 聚合要素还让地图读者更容易看出大型数据集中的空间模式。 在大多数情况下,聚类或聚合要素会在不同的缩放比例下重新呈现,因此用户在达到适当的比例后仍然可以访问单个要素或查看其分布。

要了解有关客户端聚合的详细信息,请参阅以下资源:

为图层配置可见范围

指定绘制内容的缩放级别称为设置可见范围或配置比例依赖性。适当的比例依赖性配置将确保 Web 地图中的图层仅针对某一比例范围进行绘制,在该范围中图层中的要素与地图读者相关。 例如,您可以使用可见性范围属性来确保仅在地图放大到可以区分各个建筑物的比例时绘制单个建筑物覆盖区。

要详细了解如何设置可见范围,请参阅以下资源:

使用过滤器

通常,Web 地图中的图层包含的信息多于特定用例所需的信息。 使用属性过滤器可减少地图需要请求和呈现的要素数量。 除了提高地图的呈现性能外,过滤器还让地图读者更容易专注于与其用例相关的信息。

按时间过滤时,如果地图将被大量用户访问,请避免使用动态相对时间查询,例如“上周”。 这些查询需要根据当前时间不断重新计算,从而妨碍缓存的有效使用。 相反,请尝试对图层表中存储的属性使用绝对查询。

要详细了解如何使用过滤器,请参阅以下资源:

为图层配置刷新间隔

更新 Web 地图中的数据时,默认不刷新地图。 但是,您可以定义每个图层的刷新间隔,以使用数据刷新图层。 设置刷新间隔后,Web 地图将定期提取图层数据,而无需重新加载整个地图界面。 虽然此配置可以使地图视图保持为最新,但它也会增加服务器负载。 根据经验,仅对更改频率足以使用户需要在其 Web 地图或应用程序会话期间查看更改的数据使用刷新间隔,而对于更改频率较低的数据,则依赖地图刷新或新会话。

要了解如何配置刷新间隔,请参阅以下资源:

优化 web 图层

图层的配置设置(例如符号系统、过滤器或可见字段)可以保存在 web 地图中,作为图层的默认视图保存,也可以保存为图层的参考(参考原始服务的要素图层)。 当可能在多个 Web 地图中使用单个图层时,将配置保存到图层或参考图层,以免在每个新 Web 地图中重新配置图层。 图层还具有独立于 Web 地图的专用配置设置,例如优化的几何或属性索引。 默认情况下,保存到图层的优化将应用于添加该图层的每个 Web 地图,并且单个 Web 地图也可以在其专用上下文中覆盖这些设置。

要了解有关保存图层设置的详细信息,请参阅以下资源:

选择最佳图层类型

共有几种不同类型的图层,每种图层都具有不同的最佳用例。 以下是一些最常见的图层类型,所有这些类型在 ArcGIS Online 和 ArcGIS Enterprise 中均可用。

  • 要素图层将要素属性和几何数据返回给客户端,以供客户端浏览器呈现。 它们适用于可视化、查询和分析矢量数据。 客户端呈现支持编辑和实时查询分析。 只有要素图层才能支持要素切片缓存。 要素图层可以基于地图和要素服务创建。
  • 地图图像图层根据当前视图范围向客户端提供地理空间数据的呈现图像,并在每次地图平移或缩放时发送新请求。 地图图像图层始终基于动态地图服务。 当需要特定的呈现样式或符号系统集时,它们适用于可视化和查询矢量和栅格数据组合。 ArcGIS Enterprise 中的地图图像图层还支持缓存到栅格切片中。
  • 影像图层向客户端提供栅格数据的呈现影像,还可以将复杂的影像数据(例如多波段数据)重新提供给客户端。 它们适用于可视化和分析栅格数据。 ArcGIS Enterprise 中的影像图层支持地图缓存。
  • 栅格切片图层(有时也称为切片图层)将矢量和栅格数据预生成到切片缓存中。 它们适用于可视化矢量和栅格数据。 由于始终缓存栅格切片图层,因此它们最适合不经常更改的图层,例如底图。
  • 矢量切片图层提供来自预生成的矢量切片缓存的矢量数据。 它们适用于可视化矢量数据。 与栅格切片图层一样,矢量切片图层最适合不经常更改的数据。 与栅格切片图层相比,矢量切片图层通常尺寸更小,呈现速度更快,并支持更多功能。

要了解有关图层类型的详细信息,请参阅以下资源:

使用托管要素图层视图

可基于 ArcGIS Online 和 ArcGIS Enterprise 中的托管要素图层,创建一个称为托管要素图层视图的单独项目。 在参考相同数据时,视图可以具有与基础托管要素图层不同的设置。

视图的常见用例是创建只读图层,以自动反映对基础托管要素图层所做的更新。 由于视图可以具有专用共享和编辑设置,因此您可以与整个组织共享只读视图,同时仅与编辑者共享可编辑的托管要素图层。

当一个图层有多个不同的用例时,也建议选择视图。 您可以配置不同的视图,每个视图都具有专用符号系统或过滤设置,或者仅包含源图层中的某些属性。

还可以使用源交换来更新视图,以在进行大型数据更新时更容易最大程度地减少中断。 您可以使用新数据创建新托管要素图层,并将该新图层设置为视图源,而不是直接更新源数据。 可通过此策略在交换源之前彻底测试新图层,并在更新数据中的任何问题影响使用视图的用户之前修复这些问题。 与将大量数据附加到图层或覆盖图层相比,源交换也要更快。

要了解有关托管要素图层视图的详细信息,请参阅以下资源:

优化图层绘制

某些线和面图层的折点数大于其使用比例下所需的折点数。 对于 ArcGIS Online 中的托管要素图层,可优化图层,以在缩小到不需要更多折点的比例时呈现更少的折点。 要将相同的策略应用于非托管图层,可通过概化详细数据,并使用比例依赖性以小比例显示概化层,从而在较大比例下显示全分辨率数据。

使用时间感知型图层

时间感知型图层可用于更轻松地按时间进行查询和过滤。 该功能允许用户查看特定时间发生的情况,或将来可能发生的情况。 它还可以通过将客户端请求和呈现的数据限制为仅与相关时间段相关的数据来提高图层性能。 可以为地图、要素和影像服务以及图层配置时间感知。

有关时间感知型图层的详细信息,请参阅以下资源:

优化 Web 服务

用户可通过地图中的图层访问 Web 服务的功能。 发布到 ArcGIS Enterprise 的某些服务具有专用设置,可单独配置这些设置以优化服务。

配置服务实例设置

在 ArcGIS Server 中,地图和影像服务使用服务器实例进程池运行。 下面的链接介绍了此池的配置和调整,以实现服务器资源的最佳性能和资源利用率。

考虑共享实例池

每个正在运行的服务实例进程都会消耗内存,即使它没有主动处理请求也是如此。 地图和影像服务可以利用共享资源池将单个服务器进程池用于多个不同的服务。 使用共享实例可以减少没有积极处理请求的服务的内存使用量。

要了解有关在 ArcGIS Enterprise 中使用共享实例的详细信息,请参阅以下资源:

镶嵌和影像服务

影像服务通常基于镶嵌数据集构建,镶嵌数据集是可以利用常规数据存储优化的地理数据库对象。 此外,还需要考虑几种特定于影像服务的优化技术:

  • 镶嵌设置(包括每个镶嵌的最大栅格数和最大影像大小)都会对服务性能产生影响,方法是确保系统不会搜索太多影像来构建生成的镶嵌,并且生成的影像不会太大,因此构建影像并将其发送回客户端不会超过用户访问镶嵌的网络承载能力。
  • 镶嵌数据集概览存在的主要目的是提高较小比例(进一步缩小)下的服务性能 - 概览表示镶嵌数据集的预渲染视图,其中数据不经常更改,或者在较小比例下不需要图像细节。 创建概览并根据需要进行更新,可以显著提高用户影像服务的显示性能。
  • 源图像的格式和配置也很重要,因为各种图像格式都可能会影响性能,且需考量图像金字塔等属性,这些属性可以通过前期计算成本生成,但会使该图像的所有未来用户受益。

有关影像服务和镶嵌优化的其他资源,请参阅 ArcGIS 影像工作流网站。

Top