创建移动场景包 (数据管理)

摘要

从一个或多个场景创建移动场景包 (.mspk),用于整个 ArcGIS 平台。

使用情况

  • 移动场景包可在 AllSource 中使用,并由使用 ArcGIS Runtime SDK 构建应用程序的开发人员使用。 对于 ArcGIS Runtime SDK,已在版本 100.5 中引入了 .mspk 文件。 ArcGIS OnlinePortal for ArcGIS 10.7 及更高版本支持移动场景包文件类型。 有关详细信息,请参阅共享移动场景包

  • 可以使用插入选项卡的工程组中的导入地图 导入地图 将移动场景包导入 AllSource

  • 在创建移动场景包时,所有场景和数据图层都将投影到通用坐标系。 即将使用的坐标系为场景坐标系。 如果有多个场景,将使用第一个输入场景坐标系。 通过确保所有数据集位于同一坐标系,可以缩短处理时间。 当前,ArcGIS Runtime SDK 应用程序仅支持 WGS84 和 Web 墨卡托辅助球体坐标系中的全球场景。

  • 如果场景中包含服务图层、矢量切片包(.vtpk 文件)或切片包(.tpk 文件),请确保它们的坐标系与场景属性中的场景坐标系或底图坐标系相匹配。 包含除场景坐标系以外的坐标系的包将无法进入移动场景包。 水平 (XY) 坐标系和垂直坐标 (Z) 系必须与场景坐标系相匹配。 有关更新场景坐标系的详细步骤,请参阅指定坐标系

  • 如果场景包含引用了网络数据集的网络图层,则会将该网络图层作为交通网络包括在移动场景包中,以便获取路径和行驶方向。 网络引用的所有要素类和表均将成为移动场景包的一部分。 也可能包括不属于地图的场景。 例如,如果地图中仅包含一个网络图层,则包中将包括与此网络相关的街道、交汇点和转弯要素类。 有关其他注意事项,请参阅为 ArcGIS Runtime 创作移动场景包

  • 您可以使用交互式编辑工具在场景地面上绘制一个矩形,来定义感兴趣的区域 (AOI)。 如果未指定范围,则当前的场景范围将用于定义 AOI 并仅合并与该范围相交的要素。 有关更多详细信息,请参阅感兴趣区域注意事项

  • 移动场景包针对 3D 可视化进行了优化,且多面体要素图层、3D 点要素图层和 LAS 数据集图层将转换为场景图层包以确保快速绘制。 有关如何在移动场景包中打包图层的详细信息,请参阅业务图层

  • 下表列出了支持的输入数据,以及输出数据在移动场景包中的转换和复制方式。 它还列出了数据是否可以重新投影到场景坐标系。 无法重新投影的数据集将无法作为创建移动场景包工具的输入。

    源数据集移动场景包中的数据集支持重新投影数据集

    2D 点、线或面要素图层

    SQLite 要素类

    3D 点要素图层

    场景图层包

    多面体要素图层

    场景图层包

    LAS 数据集图层

    场景图层包

    场景图层包

    场景图层包

    栅格图层

    栅格数据集

    高程源

    切片包或栅格数据集

    是,用于栅格数据集

    切片包

    切片包

    网络图层

    交通网络

    KMZ 或 KML

    KMZ 或 KML

    SQLite 表

    服务图层

    服务图层

    警告:
    如果场景包包含较大数据集或大量数据集,则可能需要大量处理时间来转换数据,以便在移动场景包中使用。

参数

标注说明数据类型
输入场景

将打包到一个 .mspk 文件中的一个或多个局部或全球场景。 可以将活动场景和 .mapx 文件作为输入添加。

Map
输出文件

输出移动场景包 .mspk 文件。

File
输入定位器
(可选)

将包含在移动场景包中的一个或多个定位器(.loc 文件)。

注:
定位器具有以下限制:
  • 定位器不能包含未知的坐标系。
  • 定位器或复合定位器中的任何参与定位器不得为地理编码服务,包括 ArcGIS EnterpriseArcGIS Online 中的服务。
Address Locator
感兴趣区域
(可选)

定义感兴趣区域的面图层。 仅与感兴趣区域相交的要素才会包括在移动场景包中。

Feature Layer
范围
(可选)

指定用于选择或裁剪要素的范围。

  • 默认 - 该范围将基于所有参与输入的最大范围设定。这是默认设置。
  • 输入的并集 - 该范围将基于所有输入的最大范围。
  • 输入的交集 - 该范围将基于所有输入共用的最小区域。
  • 当前显示范围 - 该范围与可见显示范围相等。如果没有活动地图,则该选项将不可用。
  • 如下面的指定 - 该范围将基于指定的最小和最大范围值。
  • 浏览 - 该范围将基于现有数据集。
Extent
裁剪要素
(可选)

指定是否将输出要素裁剪为给定的感兴趣区域或范围。

  • 已选中 - 要素的几何将裁剪为给定的感兴趣区或范围。
  • 未选中 - 将选中场景中的要素且其几何仍保持不变。 这是默认设置。
注:

多面体要素图层、3D 点要素图层、LAS 数据集图层、服务图层和切片包无法进行裁剪,将整个复制到移动场景包。

Boolean
标题
(可选)

将添加到包属性的标题信息。

String
摘要
(可选)

将添加到包属性的摘要信息。

String
描述
(可选)

将添加到包属性的描述信息。

String
标签
(可选)

将添加到包属性的标签信息。 可以添加多个标签,用逗号或分号分隔。

String
制作者名单
(可选)

将添加到包属性的制作者名单信息。

String
使用限制
(可选)

将添加到包属性的使用限制。

String
启用匿名使用
(可选)

指定所有人或仅具有 ArcGIS 帐户的人员可以使用移动场景。

  • 选中 - 具有包访问权限的所有人均可使用移动场景,无需使用 Esri 指定用户帐户进行登录。
  • 未选中 - 具有包访问权限的所有人必须使用指定用户帐户进行登录,才能使用移动场景。 这是默认设置。
许可:

此可选参数仅适用于 Publisher 扩展模块。

Boolean
纹理优化
(可选)

指定根据使用场景图层包的目标平台优化的纹理。

警告:

可能需要大量时间来处理包括 KTX2 的优化。 要获得最快结果,请使用桌面选项。

  • 全部所有用于桌面、Web 和移动平台的纹理格式都将进行优化,包括 JPEG、DXT 和 KTX2。
  • 桌面支持 Windows、Linux 和 Mac 的纹理都将进行优化,包括 JPEG 和 DXT,可用于 Windows 上的 AllSource 客户端和 Windows、Linux 和 Mac 上的 ArcGIS Runtime 桌面客户端。 这是默认设置。
  • 移动支持 Android 和 iOS 的纹理将进行优化,包括 JPEG 和 KTX2,可用于 ArcGIS Runtime 移动应用程序。
  • JPEG 纹理将进行优化,可用于桌面和 web 平台。
String
启用场景到期
(可选)

指定移动场景包是否超时。

  • 选中 - 将在移动场景包上启用超时功能。
  • 未选中 - 不会在移动场景包上启用超时功能。 这是默认设置。
许可:

此可选参数仅适用于 Publisher 扩展模块。

Boolean
场景到期类型
(可选)

指定将用于已到期移动场景包的场景访问类型。

  • 允许打开将警告包用户此场景已到期,且允许打开场景。 这是默认设置。
  • 不允许打开将警告包用户此场景已到期,且不允许打开包。
许可:

此可选参数仅适用于 Publisher 扩展模块。

String
到期日期
(可选)

移动场景包的到期日期。

许可:

此可选参数仅适用于 Publisher 扩展模块。

Date
到期消息
(可选)

访问已到期场景时将显示的文本消息。

许可:

此可选参数仅适用于 Publisher 扩展模块。

String
仅保留与范围内要素相关的行
(可选)

指定是否将指定的范围应用至相关数据源。

  • 未选中 - 相关的数据源将全部合并。 这是默认设置。
  • 选中 - 仅合并指定范围内与记录对应的相关数据。
Boolean
参考在线内容
(可选)

指定是否在包中引用服务图层。

  • 未选中 - 将不会在移动包中引用服务图层。 这是默认设置。
  • 选中 - 将在移动包中引用服务图层。

Boolean

arcpy.management.CreateMobileScenePackage(in_scene, output_file, {in_locator}, {area_of_interest}, {extent}, {clip_features}, {title}, {summary}, {description}, {tags}, {credits}, {use_limitations}, {anonymous_use}, {texture_optimization}, {enable_scene_expiration}, {scene_expiration_type}, {expiration_date}, {expiration_message}, {select_related_rows}, {reference_online_content})
名称说明数据类型
in_scene
[in_scene,...]

将打包到一个 .mspk 文件中的一个或多个局部或全球场景。 可以将活动场景和 .mapx 文件作为输入添加。

Map
output_file

输出移动场景包 .mspk 文件。

File
in_locator
[in_locator,...]
(可选)

将包含在移动场景包中的一个或多个定位器(.loc 文件)。

注:
定位器具有以下限制:
  • 定位器不能包含未知的坐标系。
  • 定位器或复合定位器中的任何参与定位器不得为地理编码服务,包括 ArcGIS EnterpriseArcGIS Online 中的服务。
Address Locator
area_of_interest
(可选)

定义感兴趣区域的面图层。 仅与感兴趣区域相交的要素才会包括在移动场景包中。

Feature Layer
extent
(可选)

指定用于选择或裁剪要素的范围。

  • MAXOF - 将使用所有输入的最大范围。
  • MINOF - 将使用所有输入共有的最小区域。
  • DISPLAY - 该范围与可见显示范围相等。
  • 图层名称 - 将使用指定图层的范围。
  • Extent 对象 - 将使用指定对象的范围。
  • 以空格分隔的坐标字符串 - 将使用指定字符串的范围。坐标以 x-min,y-min,x-max,y-max 的顺序表示。
Extent
clip_features
(可选)

指定是否将输出要素裁剪为给定的感兴趣区域或范围。

  • 已选中 - 要素的几何将裁剪为给定的感兴趣区或范围。
  • 未选中 - 将选中场景中的要素且其几何仍保持不变。 这是默认设置。
注:

多面体要素图层、3D 点要素图层、LAS 数据集图层、服务图层和切片包无法进行裁剪,将整个复制到移动场景包。

指定是否将输出要素裁剪为给定的感兴趣区域或范围。

  • CLIP要素的几何将裁剪为给定的感兴趣区或范围。
  • SELECT选择地图中的要素并保持其几何不变。 这是默认设置。
注:

多面体要素图层、3D 点要素图层、LAS 数据集图层和切片包无法进行裁剪,将整个复制到移动场景包。

Boolean
title
(可选)

将添加到包属性的标题信息。

String
summary
(可选)

将添加到包属性的摘要信息。

String
description
(可选)

将添加到包属性的描述信息。

String
tags
(可选)

将添加到包属性的标签信息。 可以添加多个标签,用逗号或分号分隔。

String
credits
(可选)

将添加到包属性的制作者名单信息。

String
use_limitations
(可选)

将添加到包属性的使用限制。

String
anonymous_use
(可选)

指定所有人或仅具有 ArcGIS 帐户的人员可以使用移动场景。

  • ANONYMOUS_USE具有包访问权限的所有人均可使用移动场景,无需使用 Esri 指定用户帐户进行登录。
  • STANDARD具有包访问权限的所有人必须使用指定用户帐户进行登录,才能使用移动场景。 这是默认设置。
许可:

此可选参数仅适用于 Publisher 扩展模块。

Boolean
texture_optimization
(可选)

指定根据使用场景图层包的目标平台优化的纹理。

警告:

可能需要大量时间来处理包括 KTX2 的优化。 要获得最快结果,请使用 DESKTOPNONE 选项。

  • ALL所有用于桌面、Web 和移动平台的纹理格式都将进行优化,包括 JPEG、DXT 和 KTX2。
  • DESKTOP支持 Windows、Linux 和 Mac 的纹理都将进行优化,包括 JPEG 和 DXT,可用于 Windows 上的 AllSource 客户端和 Windows、Linux 和 Mac 上的 ArcGIS Runtime 桌面客户端。 这是默认设置。
  • MOBILE支持 Android 和 iOS 的纹理将进行优化,包括 JPEG 和 KTX2,可用于 ArcGIS Runtime 移动应用程序。
  • NONEJPEG 纹理将进行优化,可用于桌面和 web 平台。
String
enable_scene_expiration
(可选)

指定移动场景包是否超时。

  • ENABLE_SCENE_EXPIRATION将在移动场景包上启用超时功能。
  • DISABLE_SCENE_EXPIRATION不会在移动场景包上启用超时功能。 这是默认设置。
许可:

此可选参数仅适用于 Publisher 扩展模块。

Boolean
scene_expiration_type
(可选)

指定将用于已到期移动场景包的场景访问类型。

  • ALLOW_TO_OPEN将警告包用户此场景已到期,且允许打开场景。 这是默认设置。
  • DONOT_ALLOW_TO_OPEN将警告包用户此场景已到期,且不允许打开包。
许可:

此可选参数仅适用于 Publisher 扩展模块。

String
expiration_date
(可选)

移动场景包的到期日期。

许可:

此可选参数仅适用于 Publisher 扩展模块。

Date
expiration_message
(可选)

访问已到期场景时将显示的文本消息。

许可:

此可选参数仅适用于 Publisher 扩展模块。

String
select_related_rows
(可选)

指定是否将指定的范围应用至相关数据源。

  • KEEP_ONLY_RELATED_ROWS仅合并指定范围内与记录对应的相关数据。
  • KEEP_ALL_RELATED_ROWS相关的数据源将全部合并。 这是默认设置。
Boolean
reference_online_content
(可选)

指定是否在包中引用服务图层。

  • INCLUDE_SERVICE_LAYERS将在移动包中引用服务图层。
  • EXCLUDE_SERVICE_LAYERS不会在移动包中引用服务图层。 这是默认设置。
Boolean

代码示例

CreateMobileScenePackage 示例 1(Python 窗口)

以下脚本演示了如何在 Python 窗口中使用 CreateMobileScenePackage 函数。

import arcpy
arcpy.env.workspace = r'c:\data'
arcpy.management.CreateMobileScenePackage(
    'loma_linda','LomaLindaBuilding.mspk', None, None, 'DEFAULT', 'SELECT', 
    'Loma Linda Proposed Building', 
    'Offline mobile scene package for planning department', None, 'mspk', None, 
    None, 'STANDARD', 'DESKTOP', 'ENABLE_SCENE_EXPIRATION', 'ALLOW_TO_OPEN',
    '12/31/2019 9:00:00 AM', 'This scene is expired. Contact admin@email.com',
    'EXCLUDE_SERVICE_LAYERS')
CreateMobileScenePackage 示例 2(独立脚本)

以下脚本演示了如何在 Python 脚本中使用 CreateMobileScenePackage 函数。

import arcpy

arcpy.env.workspace = r'c:\data'
arcpy.management.CreateMobileScenePackage(
    'Yosemite.mapx','YosemiteOffline.mspk', None, None, 'DEFAULT', 'SELECT', 
    'YosemiteOfflineScene', 
    'Offline mobile scene package for Yosemite National Park', None, 
    'mspk, yosemite, offline', None, None, 'STANDARD', 'DESKTOP', 
    'DISABLE_SCENE_EXPIRATION', 'ALLOW_TO_OPEN')

环境

特殊情况

并行处理因子

如果“并行处理因子”值为空,该工具会以默认值 50%(可用核的一半)运行。