创建 3D 对象场景图层内容 (数据管理)

摘要

用于从多面体或 3D 对象要素图层输入创建场景图层包 (.slpk) 或场景图层内容 (.i3sREST)。

使用情况

  • 要将多面体或 3D 对象要素类用作输入,必须首先将要素类作为要素图层添加到活动的全局或局部场景中作为要素图层。 要素图层可以用作此工具的输入。 也可以使用图层文件 (.lyrx) 作为输入。

  • 将输出坐标系与显示 web 场景所使用的空间参考相匹配。 如果预期显示环境将为全球 web 场景,则输出坐标系必须使用 GCS WGS84 或 China Geodetic Coordinate System 2000。

  • 在定义要处理的 3D 数据的 z 坐标时,请考虑以下事项:

    • 如果输出场景图层包将具有 x,y 坐标 (GCS WGS84),则可以使用任何椭圆基准面或者 EGM96 或 EGM2008 通过输出坐标系参数来定义 z 坐标系。 如果未定义 z 坐标系,则垂直单位将以米为单位。
    • 如果输出场景图层包将以投影坐标来存储 x,y 值,并且未定义 z 坐标系,则垂直单位将与 x,y 坐标相同。 对于具有未定义 z 单位(不同于 x,y 单位)的 3D 要素,可以使用调整 3D Z 值工具将 z 值转换为匹配的线性单位,或使用定义投影工具来定义正确的 z 基准。

  • 多面体或 3D 对象要素图层的高程必须使用绝对高度进行定义。 如果将偏移应用于图层,则偏移将应用于要素几何的 z 值。 创建场景图层后无法移除偏移。

  • 场景图层当前不支持大整数、仅日期、仅时间和时间戳偏移字段。 可以使用导出要素工具以创建要素类的副本,该要素类不包含可输入到此工具的不受支持的字段类型。

  • 如果输入要素类包含日期字段,则使用时区环境。 如果选择了该选项,则使用此环境将使用与 UTC 或 UTC 的偏移量对本地时间的时间值进行编码。 有关将时间用于场景图层的详细信息,请参阅启用时间的场景图层

  • 使用目标云连接参数将场景图层内容输出到位于云中的对象存储,例如 Amazon S3Azure Blob 存储、Alibaba OSSGoogle Cloud。 可将此内容发布为场景服务,并且您选择的位置必须在 ArcGIS Enterprise 中注册为用户管理数据存储

  • 您可以使用创建云存储连接文件工具来构建连接文件 (.acs)。

参数

标注说明数据类型
输入数据集

输入多面体要素 或 3D 对象要素图层。

Layer File; Feature Layer
输出场景图层包

输出场景图层包 (.slpk)。

File
输出坐标系
(可选)

输出场景图层包的坐标系。 它可以是任意投影坐标系或自定义坐标系。 支持的地理坐标系包括 WGS84 和 China Geodetic Coordinate System 2000。 WGS84 和 EGM96 大地水准面分别是默认的水平和垂直坐标系。 可通过以下任一方式指定坐标系:

  • 指定 .prj 文件的路径。
  • 引用具有正确坐标系的数据集。
  • 使用 arcpy.SpatialReference 对象。

Spatial Reference
地理变换

此基准面变换方法适用于输入图层坐标系所使用的基准面不同于输出坐标系的情况。 所有变换均为双向,而不管其名称隐含的方向如何。 例如,即使基准变换为从 WGS84 到 NAD 1927,NAD_1927_to_WGS84_3 仍可正常运行。

注:

在椭圆体和重力相关的基准面以及两个与重力相关的基准面之间进行垂直基准面变换时,需要使用 ArcGIS 坐标系数据。

String
纹理优化
(可选)

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

警告:

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

  • 全部所有用于桌面、Web 和移动平台的纹理格式都将进行优化,包括 JPEG、DXT 和 KTX2。
  • 桌面支持 WindowsLinuxMac 的纹理都将进行优化,包括 JPEG 和 DXT,可用于 Windows 上的 ArcGIS AllSource 客户端和 WindowsLinuxMac 上的 ArcGIS Maps SDKs 桌面客户端。 这是默认设置。
  • 移动支持 AndroidiOS 的纹理将进行优化,包括 JPEG 和 KTX2,可用于 ArcGIS Maps SDKs 移动应用程序。
  • JPEG 纹理将进行优化,可用于桌面和 web 平台。
String
目标云连接
(可选)

将输出场景图层内容 (.i3sREST) 的目标云连接文件 (.acs)。

Folder

arcpy.management.Create3DObjectSceneLayerPackage(in_dataset, out_slpk, {out_coor_system}, transform_method, {texture_optimization}, {target_cloud_connection})
名称说明数据类型
in_dataset

输入多面体要素 或 3D 对象要素图层。

Layer File; Feature Layer
out_slpk

输出场景图层包 (.slpk)。

File
out_coor_system
(可选)

输出场景图层包的坐标系。 它可以是任意投影坐标系或自定义坐标系。 支持的地理坐标系包括 WGS84 和 China Geodetic Coordinate System 2000。 WGS84 和 EGM96 大地水准面分别是默认的水平和垂直坐标系。 可通过以下任一方式指定坐标系:

  • 指定 .prj 文件的路径。
  • 引用具有正确坐标系的数据集。
  • 使用 arcpy.SpatialReference 对象。

Spatial Reference
transform_method
[transform_method,...]

此基准面变换方法适用于输入图层坐标系所使用的基准面不同于输出坐标系的情况。 所有变换均为双向,而不管其名称隐含的方向如何。 例如,即使基准变换为从 WGS84 到 NAD 1927,NAD_1927_to_WGS84_3 仍可正常运行。

注:

在椭圆体和重力相关的基准面以及两个与重力相关的基准面之间进行垂直基准面变换时,需要使用 ArcGIS 坐标系数据。

String
texture_optimization
(可选)

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

警告:

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

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

将输出场景图层内容 (.i3sREST) 的目标云连接文件 (.acs)。

Folder

代码示例

Create3DObjectSceneLayerPackage 示例 1(Python 窗口)

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

import arcpy
arcpy.management.Create3DObjectSceneLayerPackage(
    r'c:\temp\buildings.lyrx', r'c:\temp\output.slpk', 
    arcpy.SpatialReference(4326), None, 'DESKTOP')
Create3DObjectSceneLayerPackage 示例 2(Python 窗口)

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

import arcpy
arcpy.management.Create3DObjectSceneLayerPackage(
    r'c:\temp\buildings.lyrx', None, arcpy.SpatialReference(4326), None, 
    'DESKTOP', r'c:\cloudConnections\AWS.acs')

环境