离线使用 Web 地图支持在断开 Internet 连接的情况下查看、收集和更新要素。重新连接后,您可以同步您的地图、发送您所作出的更新,以及从其他用户处获取地图更新。
您可以在 ArcGIS Enterprise 门户中创建 Web 地图,以供在 ArcGIS 应用程序(例如 ArcGIS Collector、ArcGIS Survey123、ArcGIS Pro)和通过 ArcGIS Runtime SDK 构建的自定义应用程序中离线使用。
可以通过以下两个选项来离线使用地图。有些应用程序可能支持其中一个或另一个,或者两者都支持。
- 按需 - 外业用户可根据需要随时下载地图的任何部分。外业用户可以指定他们想要离线使用的区域以及所需底图的详细信息。
- 创建地图图区域 - 地图作者可以提前创建地图区域以打包特定区域的数据。地图区域创建加快并简化外业工作人员的地图下载过程。
启用图层和地图的离线使用功能
要离线使用 web 地图,必须对所有图层(包括底图和参考图层)启用离线使用功能。您可以为以下类型的地图图层启用离线使用功能:
- 缓存 ArcGIS Server 地图服务(来自 ArcGIS Server 10.3 或更高版本)及缓存 ArcGIS Server 影像服务(来自 ArcGIS Server 10.5.1 或更高版本)- 请在高级设置中选中允许客户端导出缓存切片复选框。
- ArcGIS Server 要素服务(来自 ArcGIS Server 10.3 或更高版本,或者如果使用地图区域,则来自 10.6.1 或更高版本)- 选择查询和同步选项以启用离线使用功能。如果您希望数据可以编辑,还需选择创建、删除和更新的任意组合。
- 托管要素图层 - 选中项目页面的设置选项卡上的启用同步复选框。
- 托管切片图层 - 选中项目页面上设置选项卡中的允许下载此图层并在离线地图中使用复选框。
要确定矢量托管切片图层在特定的 ArcGIS 应用程序中是否可以离线使用,请参阅应用程序文档。
门户中包含的默认 Esri 底图未启用离线使用。您可以通过将 ArcGIS Online 中的 Esri 底图添加到 web 地图来离线使用类似的底图。
注:
您必须对地图和地图中所有缓存服务使用相同的空间参考,包括底图和托管切片图层。
若要创建地图区域以便离线使用地图,如果仅允许编辑者编辑要素图层中自己的要素,请确保同时允许编辑者查看图层中的所有要素。对于托管要素图层,这表示如果选择了编辑者只能编辑自己的要素(需要追踪)选项,则需要选择编辑者可查看所有要素选项。
多次包含相同的托管或 ArcGIS Server 要素图层的地图将不支持离线使用。例如,您可以添加两次相同的图层,并为每个图层应用过滤器或不同样式。要在 web 地图中引用相同的数据,您可以执行以下操作:
- 对于托管要素图层,创建托管要素图层视图。这提供了可以添加到地图的不同图层。设置视图定义并根据需要应用不同的样式。
- 对于 ArcGIS Server 要素图层,发布具有唯一名称的单独要素服务。然后,您可以将要素图层添加到同一 web 地图以应用过滤器和样式。
对图层启用离线使用功能后,离线部分会显示在地图项目页面的设置选项卡中,并且启用离线模式切换键处于启用状态。如果您不想离线使用地图,请单击启用离线模式切换键将其关闭,然后单击保存。
如果您希望离线使用的地图中包含切片图层,则该切片图层的源服务定义文件、切片包或矢量切片包必须存在于您的门户中。
离线使用 Esri 底图
您可以使用 ArcGIS Enterprise web 地图从 ArcGIS Online 离线使用 Esri 底图。为此,您必须具有 ArcGIS Online 中的组织成员帐户,并完成以下步骤:
- 在 ArcGIS Online 中的切片底图或矢量底图组内找到要使用的底图,然后打开其项目页面。
- 在项目页面上的 URL 部分,单击包含图层 URL 的文本框旁的复制。
- 登录至 ArcGIS Enterprise 门户。
- 单击内容,转到我的内容选项卡。
- 单击添加项目,然后选择来自 web。
- 选择 ArcGIS Server Web 服务。
- 在 URL 文本框中粘贴步骤 2 中复制的底图链接。单击标题文本框以便不再选择 URL 文本框。
此服务信息将从 ArcGIS Online 中检索出来。检测到此信息安全,然后在 URL 文本框下显示用户名和密码文本框。
- 提供您帐户(此帐户为 ArcGIS Online 的组织成员)的用户名和密码,然后选择将凭据与服务项目一同存储。
- 单击添加项目。
随即将出现新项目的项目页面。
- 如果您使用的是矢量切片地图,将项目与所有人(公众)共享。
- 要使底图可跨地图使用,可以创建使用新图层作为底图的地图,并与组织的底图库进行共享。有关创建地图的详细信息,请参阅使用您自己的底图。有关与底图库共享的详细信息,请参阅如何在组织的底图库中使图层作为底图?
注:
与组织的底图库共享的地图应仅限于离线使用,而不能用于常规地图查看。
- 使用 Map Viewer 打开您希望离线使用的地图,并通过以下方式之一对其进行更新以便使用底图:
- 如果已将其添加到底图库,请单击底图,然后在底图库中单击新创建的底图。
- 要仅针对此地图添加图层作为底图,请参阅使用您自己的底图。
- 将更改保存到地图中。
创建、编辑和管理地图区域
启用 web 地图离线使用功能后,建议您为将要离线使用的 web 地图创建地图区域,以简化离线外业工作人员的体验。地图区域允许您打包 Web 地图特定区域的数据,以便更轻松、快速地下载地图供离线使用。地图区域可用于 ArcGIS Collector、ArcGIS Survey123 和 ArcGIS Runtime SDK 自定义应用程序。
创建地图区域时,指定区域中的数据会被绑定到一个或多个可下载包中。要素图层被绑定到 SQLite 数据库文件 (.geodatabase),切片图层被绑定到切片包 (.tpk),矢量切片图层被绑定到矢量切片包 (.vtpk)。包名称反映了其包含图层的名称。
更新地图中的图层时,必须刷新相应的地图区域包。您可以设置刷新计划,以指定的间隔和时间(例如每周一上午 9:00)来刷新要素图层包。也可以手动刷新单个或所有图层包。如果在 web 地图中添加或移除了图层,则必须刷新整个地图区域才能更新数据。在某些情况下,您可能还需要重新创建或删除地图区域。
注:
您无法与可供成员更新群组中所有项目的群组共享包含地图区域的 web 地图,且门户管理员不可以对包含地图区域的 web 地图进行所有权更改。
要创建、编辑和管理 web 地图的地图区域,您必须是该地图的所有者并具有创建内容的权限。
创建地图区域
您最多可以为 web 地图创建 16 个地图区域。您创建的地图区域数量取决于您的组织及其外业工作人员的需要。在创建地图区域前,请确保为您的地图配置高级离线设置。如果在创建地图区域后修改这些设置,则需要重新创建地图区域才能使用更新的设置。
请执行以下操作以创建地图区域:
- 确保地图中的所有图层均已启用离线使用功能。
- 在 web 地图的项目页面中,单击设置选项卡,然后单击选项卡顶部的离线。
- 在离线部分中,确保启用离线模式切换键处于启用状态。
- 在地图区域下,单击管理区域。
- 在管理区域窗口中,单击创建区域。
- 执行以下任意操作以导航至要创建地图区域的地图部分。
- 使用缩放按钮进行缩放。
- 如果地图中包含书签,请单击显示书签按钮,然后单击书签以导航至地图区域。
- 要导航至特定地点或地址,请在搜索框中输入关键字。关键字可包括地址、街道交叉口、地点、感兴趣点、经纬度坐标和要素 ID。
- 要绘制一个表示地图区域的形状,单击草图工具条中的一个按钮。
- 要在区域周围绘制一个框以供离线使用,单击草绘矩形地图区域按钮 并在地图上绘制一个框。
- 要绘制一个多边形以定义需要离线使用的区域,单击草绘多边形地图区域按钮 并在地图上绘制多边形。
- 要移动地图区域形状,请将其选中并拖动到地图上的新位置。
- 要更改矩形地图区域的形状,请单击矩形将其选中,将鼠标悬停在折点上直到鼠标指针发生变化,然后将折点拖动到所需位置。对任意顶点重复此操作,直至对矩形区域满意。
- 要更改多边形区域的形状,请执行以下步骤:
- 单击多边形以将其选中,然后单击草图工具条上的修整地图区域按钮。
多边形顶点随即显示。
- 单击折点以将其选中。
- 要移动所选折点,将其拖动至新位置。
- 要删除所选折点,按键盘上的 Backspace。
- 对任意折点重复步骤 b 至 d,直到对区域的形状满意。
- 单击多边形以将其选中,然后单击草图工具条上的修整地图区域按钮。
- 在名称框中,输入地图区域的描述性名称。
- 要更改下载的栅格或矢量切片图层的质量和分辨率,请将细节层次滑块向右移动(更多详细信息)或向左移动(更少详细信息)。
设置适合您创建的地图区域的细节层次。如果细节层次过大(例如,您将细节级别设置为街道但是您的地图区域为西班牙大小),您将收到一个警告,表明必须减少地图区域或降低细节层次。
- 在更新下载包下方,设置要刷新地图区域包的间隔和时间,从而捕获对要素图层数据所作的任何更改。如果您不想设置自动刷新计划,请从下拉菜单中选择从不。
注:
计划刷新不适用于切片图层。您必须根据需要手动刷新切片图层包。
- 单击保存。
您的新地图区域随即显示在地图区域列表中,并具有一个标记,表示区域正在打包中。打包可能需要几秒钟或几分钟,具体取决于要打包数据的大小。打包成功完成后,单击地图区域的箭头即可查看创建的包列表。
- 要为此地图创建更多区域,单击创建新区域并重复步骤 6 到 14。您最多可以为每个 web 地图创建 16 个地图区域。
编辑地图区域
创建地图区域后,您可能想要更改其名称、形状、细节层次或刷新要素图层包的计划(如果已设置)。
请执行以下操作以编辑地图区域:
- 在 web 地图的项目页面中,单击设置选项卡,然后单击选项卡顶部的离线。
- 在离线部分中,确保启用离线模式切换键处于启用状态。
- 在地图区域下,单击管理区域。
- 如有必要,可在过滤地图区域字段中输入部分地图区域名称,以帮助您找到要编辑的地图区域。
- 单击要编辑的地图区域的箭头,然后在地图区域窗格顶部,单击选项按钮 ,并单击编辑。
- 在编辑地图区域窗格中,更改任意设置,或根据需要更改地图区域的形状。
- 完成后,单击保存。
管理地图区域
您可以随时刷新、重新创建或删除地图区域包。
如果您的数据经常更改,请为地图区域设置刷新计划,然后 ArcGIS Enterprise 将根据您指定的时间和时间间隔自动刷新地图区域的要素图层包。应用程序将在任何建立连接且需要更新时与门户同步以获取这些更新。应用程序同步时,也可将其编辑内容推送到离线地图的可编辑要素图层中。
您还可以启用定时更新,此功能将控制应用程序获取离线地图区域以供只读使用的频率。在这种情况下,您需定义何时可以下载更新包。这是单向更新;客户端仅可以下载更新包(不会同步做出的任何编辑),且仅在您为包指定的更新日期和时间之后才可以进行下载。定时更新提供了多种性能以及优于同步的扩展性,同时使更新高效地推送至数以千计的用户。
注:
如果您的离线 Web 地图包含引用版本化数据的可编辑 ArcGIS Server 要素服务,您将无法启用定期更新,定期更新可以生成更新包以供只读使用。如果您需要将此数据包括在这些更新包中,请向 ArcGIS Server 站点发布另外一个要素服务,请不要启用编辑功能,也不要在离线 Web 地图中使用该服务。
刷新包将更新其包含的数据,以反映自上次创建或刷新程序包以来对地图数据所做的任何更改。决定刷新地图区域包的方式及时间时,请考虑以下因素:
- 如果在地图中添加或移除了图层,则必须更新地图区域。在下列情况下,必须刷新整个地图区域才能相应地更新数据。
- 如果自上次打包以来,对一个或多个要素图层中的数据进行了大量更改,则您应刷新包。
- 如果您有多个同时连接的客户端需要下载地图更新(仅用于参考),您可以计划生成更新包的时间。这是一种向不需要编辑数据的客户端提供更新的更有效的方法。当门户使用率较低时,将生成包(理想情况下)。客户端可以连接和下载更新包,而无需在客户端和门户之间进行同步所需的额外资源。
在某些情况下,必须重新创建地图区域。重新创建地图区域时,将删除所有现有包,并为地图中的所有图层创建新包。在以下情况下,必须重新创建地图区域:
- 向地图中的图层添加了字段或从中移除了字段。
- 已修改地图中的域或要素模板。
重新创建地图区域始终是手动过程。
如果不再需要地图区域,可将其删除。删除地图区域将删除地图区域的所有现有包。即使您为地图区域设置了定时更新,一旦您从 web 地图中删除地图区域,则不会创建新的地图区域包。但是,只要要素图层存在,已下载地图区域的应用程序就可以继续同步数据。
要管理现有地图区域,请执行以下操作:
- 在 web 地图的项目页面中,单击设置选项卡,然后单击选项卡顶部的离线。
- 在离线部分中,确保启用离线模式切换键处于启用状态。
- 在地图区域下,单击管理区域。
- 要更新一个或多个地图区域,请选中要更新的一个或多个地图区域旁边的复选框,然后在快捷菜单中单击更新。
- 要重新创建一个或多个地图区域,请执行以下操作:
- 选中要重新创建的一个或多个地图区域旁边的框,然后在快捷菜单中单击重新创建。
- 单击重新创建以确认您选择要重新创建的一个或多个地图区域。
- 要计划创建以只读方式离线使用的地图区域更新包,打开启用定时更新切换按钮。您也可以设置希望地图区域包进行更新的时间和间隔。请注意此间隔应该与包的刷新间隔一致,以捕获对要素图层数据的更改。
- 要删除一个或多个地图区域,请选中要删除的一个或多个地图区域旁边的框,然后在快捷菜单中单击删除。
注:
将立即删除区域且无法恢复。
选择工程右侧的高级离线选项
创作地图以供离线使用时,您可以通过调整高级离线选项来控制数据的初始下载方式,以及随后同步到离线设备的方式。这些设置不会影响用户在移动设备上进行的编辑;编辑内容始终同步回原始数据。
注:
如果地图符合离线使用要求以及以下要求,则可以配置高级离线选项:
- 地图中至少有一个可编辑要素图层。
- 地图中的所有可编辑要素图层为托管要素图层或 ArcGIS Server 10.4 或更高版本的要素服务。
这些高级离线选项在 ArcGIS Collector 中为既定配置。使用 ArcGIS Runtime SDK 构建自己的应用程序的开发人员可使用不受支持的 JSON 来利用这些高级选项。例如,如果要使用 ArcGIS Runtime SDK for .NET 构建一个应用程序,则可以使用 UnsupportedJson 属性。
要调整高级离线设置,请完成以下步骤:
- 确保地图中的所有图层均已启用离线使用功能。
- 在 web 地图的项目页面中,单击设置选项卡,然后单击选项卡顶部的离线。
- 在离线部分中,确保启用离线模式切换键处于启用状态。
- 单击高级选项。
- 在控制要素和附件传送下,指定首次下载地图时以及每次将数据更新从地图同步到设备时,如何向离线设备传送附件和要素。默认情况下,设备将下载并获取可编辑图层和只读图层的要素和附件的更新。
- 在可编辑要素下,选择用于在可编辑图层中传送要素和附件的选项。您可以传送要素和附件,也可以仅传送要素,或者二者都不传送。
- 在只读要素下,选择用于在只读图层中传送要素和附件的选项。您可以传送要素和附件,或仅传送要素。
提示:
根据用户需要离线查看的内容,以及与设备存储、移动数据使用以及下载和同步速度相关的任何问题或限制,选择有意义的选项,尤其是在连接质量较差的区域。例如,如果离线用户不需要查看附件,您可以选择仅传送要素更新,或者您可以传送可编辑图层的附件和要素,但不传送只读图层的附件和要素。
- 在使用切片包作为离线底图下,选择以下选项之一,以指定在离线设备上应该用作底图的内容:
- 设备将使用 Web 地图定义的底图 - 如果选择此选项,则将离线使用当前地图中的底图
- 设备将使用已有的切片包 - 如果选择此选项,离线地图将使用设备上已有的切片包。使用切片包作为底图,您可以在需要时下载更大、更详细的底图以供离线使用。在选择此选项之前,请确保切片包已经覆盖了您计划离线使用的区域。
- 单击保存保存更改。