共享包 (数据管理)

描述

通过将包上传到 ArcGIS OnlineArcGIS Enterprise 对其进行共享。

使用方法

  • 支持的包类型如下:

    • 地理处理包(.gpk.gpkx
    • 图层包(.lpk.lpkx
    • 定位器包 (.gcpk)
    • 地图包(.mpk.mpkx
    • 切片包(.tpk.tpkx
    • 移动地图包 (.mmpk)
    • 场景图层包 (.slpk)
    • 矢量切片包(.vtpk
    • 工程包和工程模板(.ppkx.aptx

  • 在 ArcGIS Pro 中使用此工具时,您无法输入 ArcGIS OnlineArcGIS Enterprise 用户名和密码。此工具将从 ArcGIS Pro 本身获取凭据。您必须先登录并连接到 ArcGIS OnlineArcGIS Enterprise,然后才能使用此工具共享包。

  • 要与 ArcGIS OnlineArcGIS Enterprise 共享包,必须填写摘要信息和一个或多个标签。在线搜索这些包时,摘要信息和标签连同可选包文件的描述和制作者名单一起发挥作用。

  • 如果 ArcGIS OnlineArcGIS Enterprise 组织中已经存在同名的包,则该包将被覆盖。

  • 如果要共享切片包、场景图层包或矢量切片包,则可以选择将其自动发布为相应类型的 Web 图层。(切片包将发布为 web 切片图层,场景图层包将发布为 web 场景图层,且矢量切片包将发布为矢量切片图层。) 要成功发布 Web 图层,您必须在活动门户帐户中拥有必要的权限。

  • 要将包通过公共帐户共享到 ArcGIS Online,需要将 Esri 全球帐户注册为 ArcGIS Online 成员。要创建和注册 Esri 全球帐户,请转至 arcgis.com/home/signup.html

  • 注:

    将包共享至使用 OAUTH2 身份验证的门户时,该工具在 ArcGIS 应用程序外的 Python 脚本中是限制使用的。例如,ArcGIS Online 便使用这种身份验证方法。要进行身份验证,您必须直接从应用程序连接到该门户。只有在应用程序处于打开状态并连接到门户,或者您连接到使用传统身份验证机制并允许传递用户名和密码的门户时,才能在 Python 脚本中使用此工具。

语法

arcpy.management.SharePackage(in_package, username, password, summary, tags, {credits}, {public}, {groups}, {organization}, {publish_web_layer}, {portal_folder})
参数说明数据类型
in_package

输入图层(.lpk.lpkx)、场景图层 (.slpk)、地图(.mpk.mpkx)、地理处理(.gpk.gpkx)、切片(.tpk.tpkx)、移动地图 (.mmpk)、矢量切片 (.vtpk)、地址定位器 (.gcpk) 或工程(.ppkx.aptx)包文件。

File
username

ArcGIS OnlineArcGIS Enterprise 用户名。将包共享至使用 OAUTH2 身份验证的门户时,该参数在 Python 脚本中是限制使用的。有关详细信息,请参阅用法说明。

String
password

ArcGIS OnlineArcGIS Enterprise 密码。将包共享至使用 OAUTH2 身份验证的门户时,该参数在 Python 脚本中是限制使用的。有关详细信息,请参阅用法说明。

Encrypted String
summary

包的摘要信息。在 ArcGIS OnlineArcGIS Enterprise 上,摘要信息将显示在包的项目信息中。

String
tags

用于描述和识别包的标记。各个标记之间以逗号或分号分隔。

String
credits
(可选)

包的制作者。通常是创作和提供包内容的组织的名称。

String
public
(可选)

指定是否将输入包共享并提供给所有人。

  • EVERYBODY 将包共享给所有人。
  • MYGROUPS 包将与包的所有者及任意所选群组共享。这是默认设置。
Boolean
groups
[group_name,...]
(可选)

共享包的群组列表。

String
organization
(可选)

指定输入包仅可用于组织内部还是公开共享给所有人。

  • EVERYBODY 将包共享给所有人。这是默认设置。
  • MYORGANIZATION 包将仅在组织内部共享。
Boolean
publish_web_layer
(可选)

指定是否将包作为 Web 图层发布到门户。仅支持切片包、矢量切片包和场景图层包。

  • FALSE包将被上传且不被发布。这是默认设置。
  • TRUE包将被上传并发布为具有相同名称的 web 图层。
Boolean
portal_folder
(可选)

在门户上为包指定现有文件夹或新文件夹的名称。如果发布了 Web 图层,则系统会将其存储在同一文件夹中。

String

派生输出

名称说明数据类型
out_results

上传包并发布 Web 图层(如果指定)的结果。成功时返回 True

布尔型
package_item_id

包的门户项目 ID。

字符串
publish_results

包含 Web 图层的服务 URL 和门户项目 ID 的 JSON 响应。

字符串

代码示例

SharePackage 示例 1(Python 窗口)

以下脚本可将图层包上传到活动门户。

import arcpy
arcpy.SharePackage_management(r"C:\states.lpkx", "username", "password", 
                              "My Summary", "tag1, tag2", "My Credits", 
                              "MYGROUPS", "My Group")
SharePackage 示例 2(Python 窗口)

以下脚本可将切片包上传到活动门户并将其发布为 Web 图层。

import arcpy
arcpy.SharePackage_management(r"C:\states.tpk", "username", "password", 
                              "My Summary", "tag1, tag2", "My Credits", 
                              "MYGROUPS", "My Group", "MYORGANIZATION", "TRUE", 
                              "My Folder")
SharePackage 示例 3(独立脚本)

以下脚本可查找位于指定文件夹中的所有地图包,并将其上传到活动门户。

# Name: SharePackageExample.py
# Description:  Find all map packages that reside in a specified folder 
#               and upload them to the active portal.
# import system modules
import os
import arcpy
# Set environment settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = "C:/data/my_packages" 
# Loop through the workspace to find all map packages 
for mpkx in arcpy.ListFiles("*.mpkx"):
    print("Uploading " + mpkx)
    arcpy.SharePackage_management(mpkx, "username", "password", 
                                  "My Summary", "tag1, tag2", 
                                  "My Credits", "MYGROUPS", "My Group")

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题