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

摘要

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

使用情况

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

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

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

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

  • 多面体图层的高程必须使用绝对高度进行定义。

  • 场景图层包中将仅保留图层属性中指定为可见的字段。 如果生成的场景图层中不需要某些字段,您可以隐藏不需要的列

参数

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

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

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

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

File
输出坐标系
(可选)

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

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

Spatial Reference
地理变换

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

注:

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

String
纹理优化
(可选)

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

警告:

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

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

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

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

Layer File; Feature Layer
out_slpk

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

File
out_coor_system
(可选)

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

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

Spatial Reference
transform_method
[transform_method,...]

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

注:

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

String
texture_optimization
(可选)

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

警告:

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

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

代码示例

Create3DObjectSceneLayerPackage 示例(Python 窗口)

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

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

环境

此工具不使用任何地理处理环境。

许可信息

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

相关主题