离线使用 web 地图

ArcGIS 支持离线使用 Web 地图。 当出现间歇性连接或连接不可用时,离线使用 Web 地图允许您在离线场景中可靠地处理 GIS 数据。

以下应用程序支持离线使用 Web 地图:

使用上方链接了解每个应用程序支持的配置的相关信息。

离线地图区域

离线使用 web 地图时将始终使用离线地图区域。 您可以提前为地图定义离线地图区域,否则用于下载地图的客户端应用程序将按需定义离线地图区域。

  • 提前定义离线地图区域 - 此模式有时称为预计划离线地图区域。

    作为地图作者,您可以提前为用户定义离线地图区域。 当工作人员在明确定义的地理区域内工作时,此方法十分有效。 如果可能,建议您提前准备离线地图区域。 相比按需工作流,提前定义离线区域具有以下优势:

    • 将一次性为需要数据的所有用户打包离线地图区域数据,并托管在 ArcGIS Online 中。 单个离线地图区域可供许多用户下载,当为许多离线移动工作人员提供支持时,在比例方面性能更佳,因为他们下载的数据已经打包完成。
    • 由于区域由地图作者定义,所以在下载所含图层具有预定义地图区域的离线地图时,外业工作中的错误(例如细节不足或地理区域错误)最少。 将这些决策排除在离线工作人员的控制之外可以简化其工作流,帮助他们更快地启动和进行任务,以专注于他们需要做的工作。

  • 按需创建离线地图区域 - 有些时候,难以提前预测或确切了解移动工作人员的去向。 这可能由多种原因导致,包括计划变更、适应天气或工作优先级的突然改变。 在外业工作中发挥适应性和灵活性可以使外业团队保持高效。

    这就是按需工作流的作用。 按需离线区域允许用户定义自己要离线使用的区域。

    虽然按需创建离线地图区域的工作流更加灵活,但它把更多的责任放在了移动用户身上,以确保他们离线使用正确信息和正确的细节层次。 同时,它可能对您的组织资源有更高的要求,因为每个用户的下载结果是针对其独有的离线区域单独导出的数据。 不建议将此模式用于大型的离线工作人员团队。

启用图层和地图的离线使用功能

要离线使用 web 地图,必须对所有图层(包括底图和参考图层)启用离线使用功能。 将自动启用 Esri 栅格底图Esri 矢量底图以供离线使用。 您可以为以下其他类型的地图图层启用离线使用功能:

  • 托管要素图层
  • ArcGIS Server 要素图层
  • 托管切片图层
  • ArcGIS Server 缓存地图服务(也称为切片图层)- 当您从 ArcGIS Pro 发布服务时,选中允许客户端导出缓存切片复选框。
  • ArcGIS Server 缓存影像服务(也称为影像图层)- 当您从 ArcGIS Pro 发布服务时,选中允许客户端导出缓存切片复选框。
  • Web 地图中保存的草图图层和地图注释图层*

注:

*另存为要素集合项目并添加到地图的地图注释图层不能离线使用。

要素图层

要离线使用托管要素图层和 ArcGIS Server 要素图层,您需要为图层启用同步。

您可以在发布托管要素图层时启用同步,或在 ArcGIS Online 中托管要素图层项目页面的设置选项卡上选中启用同步复选框。

您也可以在从桌面客户端发布 ArcGIS Server 要素图层时启用同步,或在发布服务后对 ArcGIS Server Manager 中的服务启用同步。

托管切片图层

ArcGIS Pro 发布托管栅格切片图层或托管矢量切片图层时,启用允许客户端导出缓存切片选项。 或者,您可以在发布图层后在 ArcGIS Online 中图层项目页面的设置选项卡上启用允许下载此图层并用于离线地图选项。

ArcGIS Server 缓存地图和影像服务

与托管切片图层相似,当您发布缓存地图服务或缓存影像服务时,可以在发布时在 ArcGIS Pro 中启用允许客户端导出缓存切片选项,或者,可以在图层项目页面的设置选项卡上启用允许下载此图层并用于离线地图选项。

草图图层和地图注释图层

Web 地图中的草图图层和地图注释图层会自动启用离线使用功能。 但是,离线使用 Web 地图后,如果在源地图的图层中添加、删除或修改要素,草图和地图注释图层不会收到更新。

Web 地图

在图层启用离线使用功能后,离线部分显示在地图的项目页面的设置选项卡上,同时启用离线模式切换按钮为启用状态。 如果您不想离线使用地图,请单击启用离线模式切换按钮将其关闭,然后单击保存

离线地图和图层的使用提示

使用离线地图和图层时,请记住以下几点:

  • 离线使用缓存切片图层、缓存地图服务图层或缓存影像图层时,图层的空间参考必须与 Web 地图的空间参考匹配。 同样,离线使用地图时,必须存在您请求的所有切片级别(比例)的切片。 对于要素图层,当离线使用地图时,会将数据投影到 web 地图的空间参考。
  • 多次包含相同的托管或 ArcGIS Server 要素图层的地图将不支持离线使用。 例如,您可以添加两次相同的图层,并为每个图层应用过滤器或不同样式。 要在 web 地图中引用相同的数据,您可以执行以下操作:
    • 对于托管要素图层,创建托管要素图层视图。 这提供了可以添加到地图的不同图层。 设置视图定义并根据需要应用不同的样式。
    • 对于 ArcGIS Server 要素图层,发布具有唯一名称的单独要素服务。 然后,您可以将要素图层添加到同一 web 地图以应用过滤器和样式。
  • 在启用了基于所有权的访问控制(用于限制用户查看其他用户创建的要素)的要素图层上,不支持提前创建离线地图区域。

    对于托管要素图层,如果您在托管要素图层项目上启用了编辑者仅能编辑自己的要素(需要追踪)选项,请确保选中编辑者可查看所有要素选项。

    对于 ArcGIS Server 要素图层,企业级地理数据库中的源数据必须已启用编辑者追踪,并且服务必须至少选中允许对其他用户创建的要素执行的操作配置选项中的查询选项

  • 如果要离线使用的地图中包含托管切片图层,则该切片图层的源服务定义文件或切片包必须存在于 ArcGIS Online 中。
  • 您在使用支持离线使用的 Esri 软件时,可离线使用 ArcGIS 切片。 禁止通过其他应用程序或服务系统性地请求离线使用 ArcGIS 切片。

创建和管理提前准备的离线地图区域

启用 Web 地图离线使用功能后,建议您创建离线地图区域,以简化离线工作人员的体验。 离线地图区域允许您打包 Web 地图特定区域的数据,以便更轻松、快速地下载地图供离线使用。 提前准备的离线地图区域可用于 ArcGIS Field MapsArcGIS Survey123 和使用 ArcGIS Maps SDKs 构建的地图。

创建离线地图区域时,指定区域中的数据被绑定到一个或多个可下载包中。 要素图层被绑定到移动数据库文件 (.geodatabase),切片图层被绑定到切片包(.tpk.tpkx),矢量切片图层被绑定到矢量切片包 (.vtpk)。 包名称反映了其包含图层的名称。

创建编辑管理 web 地图的离线地图区域,您必须是该地图的所有者并具有创建内容的权限。

注:

您无法与可供成员更新群组中所有项目的群组共享包含离线地图区域的 web 地图,且组织管理员不可以对包含离线地图区域的 web 地图进行所有权更改。

要为包含安全公共要素服务的 web 地图创建离线地图区域,则服务必须来自 ArcGIS Server 10.8 或更高版本的站点。

创建离线地图区域

您最多可以为 Web 地图创建 16 个离线地图区域。 您创建的离线地图区域数量取决于您的组织及其移动工作人员的需要。

请执行以下操作以创建离线地图区域:

  1. 确保地图中的所有图层均已启用离线使用功能
  2. 在 web 地图的项目页面中,单击设置选项卡,然后单击选项卡顶部的离线

    如果 Web 地图项目的设置选项卡上没有离线部分,则地图包含一个或多个无法离线使用的图层。

  3. 离线部分中,确保启用离线模式切换按钮处于启用状态。
  4. 离线地图区域部分中,单击管理离线区域

    随即显示管理离线区域窗口。

  5. 单击创建离线区域
  6. 执行以下任意操作以导航至要创建离线区域的地图部分。
    • 使用缩放按钮以放大和缩小地图预览。
    • 如果地图中包含书签,请单击显示书签按钮,然后单击书签以导航至地图区域。
    • 要导航至特定地点或地址,请在搜索框中输入关键字。 关键字可包括地址、街道交叉口、地点、感兴趣点、经纬度坐标和要素 ID。
  7. 要绘制一个表示离线区域的形状,单击草图工具条中的一个按钮。
    • 要在区域周围绘制一个框以供离线使用,单击草绘矩形地图区域按钮 绘制矩形并在地图上绘制一个框。
    • 要绘制一个多边形以定义需要离线使用的区域,单击草绘多边形地图区域按钮 绘制多边形并在地图上绘制多边形。

      地图的底图必须是 ArcGIS Online 托管的切片图层或来自 ArcGIS Enterprise 10.7 或更高版本门户的切片图层;否则,草绘多边形地图区域按钮将不可用。

  8. 要移动离线区域形状,请将其选中并拖动到地图上的新位置。
  9. 要更改矩形区域的形状,请单击矩形将其选中,将鼠标悬停在折点上直到鼠标指针发生变化,然后将折点拖动到所需位置。 对任意顶点重复此操作,直至对矩形区域满意。
  10. 要更改多边形区域的形状,请执行以下步骤:
    1. 单击多边形以将其选中,然后单击草图工具条上的修整地图区域按钮。

      多边形顶点随即显示。

    2. 单击折点以将其选中。
    3. 要移动所选折点,将其拖动至新位置。
    4. 要删除所选折点,按键盘上的 Backspace 键。
    5. 对任意折点重复子步骤 b 至 d,直到对区域的形状满意。
  11. 名称框中,输入离线地图区域的描述性名称。
  12. 要更改下载的栅格或矢量切片图层的质量和分辨率,请将细节层次部分打开并将滑块向右移动以获取更多详细信息或向左移动(更少详细信息)。

    设置适合您创建的离线地图区域的细节层次。 如果细节层次过大(例如,您将细节级别设置为街道但是您的离线地图区域为西班牙大小),您将收到一个警告,表明必须减少离线地图区域或降低细节层次。

  13. 打开打包计划部分,以设置要刷新离线地图区域包的间隔和时间,从而捕获要素图层数据的更改。

    如果您不想设置自动刷新计划,请从下拉菜单中选择从不

    注:

    计划刷新不适用于切片图层。 您必须根据需要手动刷新切片图层包。

  14. 要创建以只读方式使用的离线地图区域更新包,打开优化部分,然后打开启用打包更新开关按钮。

    只读包是根据您在上一步中设置的计划创建的。

  15. 单击保存

    新离线地图区域随即显示在离线地图区域列表中,并具有一个标记,表示区域正在打包中。 打包可能需要几秒钟或几分钟,具体取决于要打包数据的大小。

    如果 Web 图层在打包时大小大于 4 GB,打包会失败。 对于要素图层,包内包含地图区域中存在的所有子图层。 如果打包失败,请尝试绘制一个较小的区域以将其包含在离线地图包中。 如果地图包含具有附件的要素图层,可以从离线包中排除附件以减小包大小。如果地图包含切片图层,可以通过调整细节层次以包含更少的细节来减小离线地图区域的大小。

  16. 要为此地图创建更多离线区域,单击创建离线区域并重复从步骤 5 开始的步骤。

    您最多可以为每个 web 地图创建 16 个离线地图区域。

编辑离线地图区域

拥有离线地图区域后,您可能想要更改其名称、形状、细节层次或刷新要素图层包的计划(如果已设置)。

请执行以下操作以编辑离线地图区域:

  1. 在 web 地图的项目页面中,单击设置选项卡,然后单击选项卡顶部的离线
  2. 离线部分中,确保启用离线模式切换按钮处于启用状态。
  3. 离线地图区域部分中,单击管理离线区域

    随即显示管理离线区域窗口。

  4. 如有必要,可在过滤离线区域字段中输入部分离线地图区域名称,以帮助您找到要编辑的离线区域。
  5. 单击离线地图区域的名称以根据需要编辑任意设置,或离线地图区域的形状。
  6. 完成编辑后,单击保存

管理离线地图区域

除了编辑离线地图区域之外,您还可以更新或刷新单个包,也可以随时重新创建或删除离线地图区域包。 您还可以更新地图区域,这会自动刷新其关联的包。 逐个了解这些选项对于高效管理您的离线地图区域十分重要。

通过从列表中选择现有离线地图区域或单击单个离线地图区域以获取其详细信息,可以访问以下操作。

更新

这是最常见的操作。 更新操作将现有地图区域包与 Web 地图上设置的当前图层和高级离线选项进行比较。 如果图层已添加或移除,单击更新将根据需要删除或添加新包。 如果高级离线设置已更改,则更新操作也会重新打包更改的数据,使更改内容在离线地图区域中对未来下载数据的用户可用。

更新操作不会将方案更改合并到地图区域。 对于方案更改,需要重新创建离线地图区域。

删除

删除离线地图区域将移除离线地图区域项目以及任何关联的包,并使离线地图区域无法下载。 已下载此离线地图区域的应用程序可以继续同步;但是,如果离线区域已配置为启用打包更新选项,离线区域将不再收到更新。

重新创建

重新创建离线地图区域不同于更新离线地图区域。 当您使用重新创建操作时,会删除与地图区域关联的所有包,并根据离线地图区域的设置重新创建包。

重新创建地图区域的主要原因是获取创建离线地图区域后发生的方案更改。 例如,如果您添加或删除字段或更改属性值列表或范围(域),则必须重新创建离线地图区域以获取这些更改。

刷新地图区域中的特定包

如果离线地图中要素图层中的数据发生重大变化,并且需要在计划的下次离线包更新之前使更新可用于新下载,您可以从离线地图区域详细信息页面的包列表中选择包,然后单击刷新。 此操作会在包的下次定期更新时间之前手动更新数据。

优化数据传送

下载离线区域和同步更改时支持使用多个选项以优化数据传送。 通过调整这些选项,您(地图所有者)可以控制向移动工作人员发送的数据更新内容,以及同步和检查更新时,他们可以通过离线地图区域接收数据更新的频率。

减少从组织发送到客户端的数据更新频率和数量可以减少同步所需的时间,特别是在网络连通性有限的位置。

优化传送的数据

默认情况下,同步会将编辑内容从客户端应用程序发送到组织,并从组织发送到客户端应用程序(双向)。 这些编辑内容包括与您正在使用的要素相关联的任何附件。 这可能不是理想操作,并且会增加每个用户在同步地图时下载的数据量,在许多工作人员在同一地理区域工作并使用相同图层时尤为如此。

您可以控制在初始下载和同步时将哪些数据传送给客户端。 对于 Web 地图,您可以决定将哪些数据传送给移动工作人员。 为 Web 地图配置数据传送优化时,这些优化将应用于提前准备和按需准备的离线地图区域。

要素图层所有者和管理员可以选择您是否需要查看或使用现有要素或附件,以及您在同步时是否继续获取要素或附件的更新。 通过调整这些设置以仅传送移动工作人员所需的数据,您可以减少同步离线地图区域所需的时间,并减少下载或同步的数据量。

注:

以下步骤中配置的选项在 ArcGIS Field Maps 中为既定配置。 使用 ArcGIS Maps SDKs 构建自己的应用程序的开发人员可使用不受支持的 JSON 来利用这些高级选项。 例如,如果要使用 ArcGIS Maps SDK for .NET 构建一个应用程序,则可以使用 UnsupportedJson 属性

要优化离线使用地图时传送的数据,请完成以下步骤:

  1. 在 web 地图的项目页面中,单击设置选项卡,然后单击选项卡顶部的离线
  2. 离线部分中,确保启用离线模式切换按钮处于启用状态。
  3. 单击高级选项

    随即显示离线:高级选项窗口。

  4. 控制要素和附件传送部分,指定首次下载离线地图以及每次将数据更新从组织中的地图同步到客户端上的地图时,如何向客户端传送附件和要素。

    默认情况下,将为可编辑图层和只读图层均选中设备将下载和获取要素和附件的更新内容选项。 这意味着客户端将在下载地图时下载所有要素和附件,并接收地图中所有图层的要素和附件更新。 您可以更改可编辑图层和只读图层的设置。 其他选项包括以下内容:

    • 设备将仅下载和获取要素的更新内容 - 在下载地图和将更新内容从组织同步到客户端时排除附件。
    • 设备从不下载或获取要素的更新内容 - 此选项仅适用于可编辑图层。 选择此选项时,不会将可编辑图层从组织下载或同步到客户端。

    根据用户需要离线使用的内容,以及与设备存储、移动数据使用以及下载和同步速度相关的任何问题或限制,选择有意义的选项,尤其是在连接质量较差的区域。 例如,如果离线用户不需要查看附件,您可以选择仅传送要素更新,或者您可以传送可编辑图层的附件和要素,但不传送只读图层的附件和要素。

  5. 为离线底图使用切片包部分下,选择以下一项以指定离线使用地图时在其中使用什么作为底图:
    • Web 地图定义的底图 - 将离线使用当前地图中的底图。
    • 设备上的切片包 - 离线地图将使用设备上已有的切片包。 使用切片包作为底图,您可以在需要时下载更大、更详细的底图以供离线使用。 在选择此选项之前,请确保切片包已经覆盖了您计划离线使用的区域。
    • 我的组织中的切片包 - 您将从组织中选择切片包项目以用作离线地图中的底图。 在这种情况下,您不必将切片包加载到将离线使用地图的所有设备,并且 ArcGIS Online 无需将地图底图压缩到切片包中以进行离线使用。

      注:

      将离线使用地图的用户必须有权访问切片包。 确保与适当受众共享切片包,以允许离线地图用户进行访问。

  6. 单击保存

优化更新的传送方式

除了控制下载和同步离线地图区域时传送的数据外,您还可以为提前准备的离线地图区域设置打包计划,以控制提供更新的时间和频率。

当您设置打包计划时,可以使用启用打包更新选项。 您可通过此选项优化使用离线地图区域的应用程序从组织接收更新的方式。 此选项在以下情景中具有良好效果:

  • 无需在离线地图中编辑图层。
  • 在使用 ArcGIS Maps SDKs 构建的自定义应用程序中离线工作时,只需添加要素。
  • 移动工作人员不需要最新信息。
  • 源数据按照明确定义的计划更新。 例如,每周五早上当您收到来自评估人员办公室的更新后,将更新所有宗地数据。

启用打包更新优化选项可更新存储的离线地图区域,有益于首次下载离线地图的用户,还会创建单独的更新包,其中仅包含自上次运行打包计划以来所执行的更改。 已经离线使用地图的移动工作人员将使用更新包,并且他们仅需要这些后续更改。

如果包中仅包含自上次定期更新以来所做更改,则可通过减少组织数据库的负载来提高性能。

当您启用地图区域的启用打包更新优化选项并在应用此设置的应用程序中使用地图区域时,无法在离线地图中进行编辑(支持添加要素、使用 ArcGIS Maps SDKs 构建的应用程序除外),并且您无法与组织同步以接收更新。

为提前创建的离线区域选择正确的选项

要为您提前创建的离线区域选择正确的设置,了解更新的传送方式至关重要。

在许多情景中,以可伸缩性换取数据新鲜度是有益的。 下方示例概述了两种情景的预期行为:当离线使用的地图区域中的数据可编辑时,以及当离线使用的地图区域中的数据不可编辑时。

  • 离线地图区域中的数据可编辑

    如果地图至少包含一个可编辑的图层,并且离线使用地图的用户具有编辑权限,则以下叙述为真:

    • 提前准备的离线地图区域将根据打包计划进行更新,旨在降低数据的陈旧性以供下一个用户下载。
    • 应用程序将在地图初始下载后使用同步,以确保离线地图区域具有最新的可用数据。 这使您离线使用的数据与存储在组织中的数据保持同步。
    • 移动工作人员可以在具有网络连通性时同步离线区域,以发送和接收更新,确保其始终具有最新的可用数据。
    • 在此情景中,尽管您在离线地图区域上启用了启用打包更新选项,仍将忽略选项并改为使用同步。

  • 离线地图区域中的数据不可编辑

    如果地图不包含可编辑图层,或离线使用地图的用户没有编辑权限,则以下叙述为真:

    • 提前准备的离线地图区域将根据打包计划进行更新,旨在降低数据的陈旧性以供下一个用户首次下载地图区域。
    • 首次下载离线地图区域的新用户可获得最新的可用数据。 但是,构成最新可用数据的内容取决于您是否在离线地图区域上启用了启用打包更新选项。
      • 如果启用了启用打包更新选项,首次下载地图区域的用户将收到自上次运行打包计划以来可用的最新打包数据。
      • 如果未启用启用打包更新选项,首次下载地图区域的用户将收到他们下载地图时可用的地图中所有图层的最新数据。
    • 移动工作人员在具有与组织的连通性时,可随时通过移动应用程序检查更新,以接收可用的更新内容。 但是,他们收到的内容取决于启用打包更新设置。
      • 如果启用了启用打包更新选项,移动工作人员将收到自上次运行打包计划以来可用的最新打包数据。
      • 如果未启用启用打包更新选项,移动工作人员将收到当前可用的地图中所有图层的最新数据。

    注:

    使用仅包含自上次定期更新以来所执行更新的包可以提高可扩展性和性能,但移动工作人员可能无法接收地图中图层的最新可用数据。 如果启用启用打包更新选项,建议您尽可能将大规模图层更新与打包计划对齐,从而最大限度地降低数据陈旧性。