描述
通过将包上传到 ArcGIS Online 或 ArcGIS Enterprise 对其进行共享。
使用方法
支持的包类型如下:
- 地理处理包(.gpk、.gpkx)
- 图层包(.lpk、.lpkx)
- 定位器包 (.gcpk)
- 地图包(.mpk、.mpkx)
- 切片包(.tpk、.tpkx)
- 移动地图包 (.mmpk)
- 场景图层包 (.slpk)
- 矢量切片包(.vtpk)
- 工程包和工程模板(.ppkx、.aptx)
在 ArcGIS Pro 中使用此工具时,您无法输入 ArcGIS Online 或 ArcGIS Enterprise 用户名和密码。此工具将从 ArcGIS Pro 本身获取凭据。您必须先登录并连接到 ArcGIS Online 或 ArcGIS Enterprise,然后才能使用此工具共享包。
要与 ArcGIS Online 或 ArcGIS Enterprise 共享包,必须填写摘要信息和一个或多个标签。在线搜索这些包时,摘要信息和标签连同可选包文件的描述和制作者名单一起发挥作用。
如果 ArcGIS Online 或 ArcGIS 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 Online 或 ArcGIS Enterprise 用户名。将包共享至使用 OAUTH2 身份验证的门户时,该参数在 Python 脚本中是限制使用的。有关详细信息,请参阅用法说明。 | String |
password | ArcGIS Online 或 ArcGIS Enterprise 密码。将包共享至使用 OAUTH2 身份验证的门户时,该参数在 Python 脚本中是限制使用的。有关详细信息,请参阅用法说明。 | Encrypted String |
summary | 包的摘要信息。在 ArcGIS Online 或 ArcGIS Enterprise 上,摘要信息将显示在包的项目信息中。 | String |
tags | 用于描述和识别包的标记。各个标记之间以逗号或分号分隔。 | String |
credits (可选) | 包的制作者。通常是创作和提供包内容的组织的名称。 | String |
public (可选) | 指定是否将输入包共享并提供给所有人。
| Boolean |
groups [group_name,...] (可选) | 共享包的群组列表。 | String |
organization (可选) | 指定输入包仅可用于组织内部还是公开共享给所有人。
| Boolean |
publish_web_layer (可选) | 指定是否将包作为 Web 图层发布到门户。仅支持切片包、矢量切片包和场景图层包。
| Boolean |
portal_folder (可选) | 在门户上为包指定现有文件夹或新文件夹的名称。如果发布了 Web 图层,则系统会将其存储在同一文件夹中。 | String |
派生输出
名称 | 说明 | 数据类型 |
out_results | 上传包并发布 Web 图层(如果指定)的结果。成功时返回 True。 | 布尔型 |
package_item_id | 包的门户项目 ID。 | 字符串 |
publish_results | 包含 Web 图层的服务 URL 和门户项目 ID 的 JSON 响应。 | 字符串 |
代码示例
以下脚本可将图层包上传到活动门户。
import arcpy
arcpy.SharePackage_management(r"C:\states.lpkx", "username", "password",
"My Summary", "tag1, tag2", "My Credits",
"MYGROUPS", "My Group")
以下脚本可将切片包上传到活动门户并将其发布为 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")
以下脚本可查找位于指定文件夹中的所有地图包,并将其上传到活动门户。
# 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: 是