在 ArcGIS Pro 中,您可以共享包含多个图层(和独立表)的地图以作为 web 图层或服务。 当您共享 web 要素图层、地图图像图层、web 切片图层或地图服务时,地图中的图层将变为服务子图层。 每个子图层都通过唯一数字 ID 标识,以便您在 web 地图或应用程序中进行处理和引用。 例如,您可以通过 URL 引用服务子图层:https://<service-url>/<layerID>。
默认情况下,您共享的每个图层都会根据内容窗格中的绘制顺序自动分配 ID,第一个图层从 0 开始。 如果您共享从地图中选择的图层,ID 将基于所选图层的顺序,包括图层所在的图层组。 当您添加、移除或重新排序图层时,其 ID 将相应地更改。
可以手动分配图层 ID,地图修改时此 ID 保持静态。 您可以使用地图属性对话框中的允许向共享 web 图层分配唯一数字 ID 设置启用此功能。 激活此设置后,每个图层的 ID 都在图层属性对话框中可见,可以在发布之前在此进行自定义。
注:
如果未手动分配图层 ID,则在共享 web 图层时,可能会遇到分析器错误 00374。
如果您打算将来覆盖 web 图层或服务,则最佳做法是在发布之前手动分配图层 ID。 否则,当 web 图层或服务被覆盖时,服务子图层 ID 可能会改变,导致引用服务子图层的 web 应用程序断开连接。 手动为地图中的图层分配 ID 可以使您在地图内容改变时,不必更新 web 应用程序中的服务子图层引用。 在覆盖之前,查看分配的图层 ID 并确保 ID 与现有服务子图层 ID 一致。
要了解有关覆盖 web 图层和服务的详细信息,请参阅覆盖 Web 要素图层、覆盖地图图像图层或覆盖地图服务。
制作包含静态 ID 的图层和独立表
要制作包含静态 ID 的图层和独立表,请按照以下步骤操作:
- 右键单击内容窗格中的地图,然后单击属性 。
- 在地图属性对话框的常规选项卡上,选中允许对共享 Web 图层分配唯一的数字 ID,然后单击确定。
随即为地图中的每个图层和独立表分配顺序 ID。
- 或者,也可以为地图中的图层和独立表分配自定义 ID。
- 在内容窗格中右键单击图层或独立表,然后单击属性 。
- 在图层属性或独立表属性对话框的常规选项卡上,将自定义整数 ID 输入到图层 ID 或表 ID 文本框中。
提示:
分配 ID 时,您应该有意地进行,例如以 10 的倍数连续为图层编号(10、20、30 等)。 这可以为未来添加图层提供空间。 例如,您可以在现有图层之间添加图层并分配介于 10 的倍数之间的 ID(15、25、35 等)。
- 如有必要,可以针对每个图层或独立表重复前两个步骤。
- 将地图共享为 web 要素图层、地图图像图层或地图服务。
地图中的图层和独立表具有静态 ID,如果未来 web 图层和服务被覆盖,则无需更新客户端应用程序。
共享 Web 图层时查看分配的 ID
在共享或覆盖 Web 图层之前,请查看分配给地图中的图层和独立表的 ID。
- 在共享为 Web 图层窗格中,单击内容选项卡。
已分配 ID 的新 Web 图层和子图层将显示在窗格中。 查看每个子图层的 ID。 如果要覆盖 Web 图层,请验证每个图层或独立表的 ID 是否与现有服务子图层的 ID 匹配。
注:
如果分配的 ID 未显示在窗格中,请确保在地图属性对话框上启用允许向共享 Web 图层分配唯一数字 ID 选项。
不会为以下图层显示 ID:矢量切片图层,此类图层无法通过服务子图层 URL 引用;Web 场景图层,此类图层仅具有始终设置为 0 的单个子图层。
- 要更改 ID,单击图层或独立表旁边的数字。
随即显示图层属性或独立表属性选项卡。
- 在常规选项卡上,在图层 ID 或表 ID 文本框中提供自定义整数 ID,然后单击确定。
分配的 ID 将更新在共享为 Web 图层窗格中。
为关联分配唯一 ID
当图层(或表)参与关联并且共享为服务子图层时,必须由服务级别的不同唯一 ID 来表示每个要素类与表之间的关系。 在对地图或地理数据库进行更改后,此操作可防止地图或要素服务修改 ID。
警告:
要为关联分配唯一 ID,必须将图层、表和属性关系类(如果适用)添加至地图。 如果地图中缺少这些内容,则服务将无法显示图层和表之间的任何关系。
可以使用图层或表属性中的关联选项卡来查看和分配唯一 ID。 请按照以下步骤操作:
- 确保图层或表已参与关联。
- 右键单击内容窗格中的地图,然后单击属性 。 在常规选项卡上,选中允许向共享 Web 图层分配唯一数字 ID,然后单击确定。
- 右键单击内容窗格中的图层或表,然后单击属性。
- 在图层属性或独立表属性对话框的关联选项卡上,展开关联。
- 展开用于共享 Web 图层的关联 ID 部分以查看所有关系,然后在关系 ID 文本框中键入自定义整数 ID。