自动共享 Web 图层

通过结合使用共享模块中的 ArcPy 函数与发布缓存切片缓存工具集中的地理处理工具,可借助 Python 自动共享、覆盖和替换 Web 图层。

可通过两种方式自动共享 Web 图层:可使用通过共享模块创建的共享草稿或使用包发布 Web 图层。 应使用的方法取决于要发布的 Web 图层类型。 如果采用共享草稿方法,则将从服务定义发布大多数 Web 图层。 如果使用包方法,则该缓存是在本地作为包创建的,然后将其上传并用于发布 Web 图层。

Web 图层类型共享草稿

Web 要素图层

支持

地图图像图层

支持

独立表

支持

Web 切片图层

支持

支持

矢量切片图层

支持

Web 场景图层

支持

支持

Web 高程图层

支持

通过受支持的方法发布的 web 图层
注:

某些 Web 图层配置不能使用 Python 发布。 例如,必须使用应用程序用户界面发布具有关联地图图像图层和/或 Web 要素图层的矢量切片图层。

使用共享草稿发布 Web 图层

发布 Web 图层的工作流始于要共享的项目或栅格数据集中的地图。

  1. 首先,使用 Map 类中的 getWebLayerSharingDraft 方法创建共享草稿。 有关详细信息,请参阅 FeatureSharingDraftMapImageSharingDraftTileSharingDraftSceneLayerSharingDraft。 要为 Web 场景图层创建共享草稿,将 Map 类上的 listLayers 方法与 SceneLayerSharingDraft 类搭配使用。 要为独立表创建共享草稿,将 ListTables 函数与 FeatureSharingDraftMapImageSharingDraft 类搭配使用。

    要覆盖 Web 要素图层、地图图像图层或独立表,请修改共享草稿的 overwriteExistingService 属性。

    注:

    此属性不适合 TileSharingDraftSceneLayerSharingDraft。 可使用替代工作流。 对于 Web 切片图层,请改用替换 Web 图层地理处理工具。 对于 Web 场景图层,当您准备好重新发布 Web 图层时,获取现有项目 ID,然后在 Publish 函数的 item_id 参数中指定该 ID。

  2. 如果共享草稿为 FeatureSharingDraftMapImageSharingDraftTileSharingDraft,暂存并发布服务定义。
    1. 使用暂存服务地理处理工具暂存服务定义草稿,将共享 Web 图层所需的所有信息合并成一个完整的服务定义。
    2. 使用上传服务定义地理处理工具上传服务定义并发布 web 图层
  3. 如果共享草稿为 SceneLayerSharingDraft,使用 Publish 函数发布具有关联 Web 要素图层的 Web 场景图层。
  4. 注:

    您将需要使用具有内容创建与发布权限的 ArcGIS OnlineArcGIS Enterprise 账户登录 ArcGIS Pro

使用包发布 Web 图层

对于 Web 切片图层和矢量切片图层,工作流始于要共享的工程中的地图。 对于 Web 场景图层和 Web 高程图层,工作流始于受支持的输入数据集。

  1. 首先,为要使用相应的地理处理工具或工具共享的 Web 图层类型创建包。

    Web 图层类型地理处理工具或工具

    Web 切片图层

    创建地图切片包

    矢量切片图层

    创建矢量切片包

    Web 场景图层

    可通过多种工具创建场景图层包。 有关详细信息,请参阅创建和共享场景图层包

    Web 高程图层

    管理切片缓存导出切片缓存

    使用地理处理工具创建其内容的 web 图层
    提示:

    在为 Web 切片图层或 Web 高程图层创建切片包之前,可选择使用生成地图服务器缓存切片方案生成切片缓存切片方案工具在地图或高程数据集的投影中生成切片方案。 如果要使用 ArcGIS Online/Bing Maps/Google Maps 切片方案,可以跳过此步骤。 有关详细信息,请参阅共享切片包

  2. 接下来,使用共享包工具将包作为 web 图层上传并发布到 ArcGIS OnlineArcGIS Enterprise
  3. 最后,可以选择使用替换 Web 图层工具将门户中现有 Web 图层的内容替换为新 Web 图层的内容。

    注:

    无法替换 Web 高程图层。

了解有关使用 Python 中工具的详细信息。