Create Integrated Mesh Scene Layer Content (Data Management)

Summary

Creates scene layer content (.slpk or .i3sREST) from OpenSceneGraph binary (OSGB) data.

Usage

  • Similar to other 3D graphic formats, the OSGB data format does not natively support specifying or capturing the coordinate system of the model. Typically, OSGB format files are output in a Cartesian coordinate system that locates data at fixed coordinates. The x-, y-, and z-coordinates of the model are not inherently geographic locations. They are locations relative to an arbitrary geometric origin (0, 0, 0). One typical coordinate system used for such models is the Easting-Northing-UP (ENU) convention in which the x-axis can be thought of as an easting direction, the y-axis as a northing direction, and the z-axis is up. To properly georeference the model, an additional metadata .xml, .3mx, or world file (.wld3) is required that can be placed next to the folder that contains the OSGB format files or specified through the Anchor Point parameter.

  • If no file exists to georeference the model, you can create a .wld3 file to specify the origin. This space or comma delimited file can be formatted in decimal degrees as <From x,y,z> <space> <To x,y,z>.

    An example world file to georeference the model. Only one coordinate pair needs to contain the anchor point coordinates.

    0, 0, 0 -117.17222, 34.0392512, 0
  • If the OSGB format files were created with a known coordinate system, place the projection file (.prj) next to the folder that includes the OSGB format files to properly georeference the model. For example, if the input file path is C:\temp\data and the OSGB format files are in subfolders C:\temp\data\Tile_001 and C:\temp\data\Tile_002, place the projection file or metadata file in the C:\temp\data folder.

  • The following table lists the georeferencing file to use for each input coordinate system of the OSGB model:

    Input coordinate systemGeoreferencing file

    Local coordinate system (ENU)

    .xml, .wld3, or .3mx file, or point feature class

    Projected coordinate system

    Projection file (.prj)

    Geographic coordinate system

    Projection file (.prj)

  • Use the Maximum Texture Size parameter to set the texture size per node in the output scene layer package. Texture sizes larger than 4096 may not be supported on all platforms. Scene Viewer supports a maximum texture size of 8192.

  • OSGB format files are created by Drone2Map and third-party providers. For a complete list of providers, see Integrated mesh scene layer.

  • Use the Target Cloud Connection parameter to output scene layer content to an object store located in the cloud such as Amazon S3, Azure Blob storage, Alibaba OSS, or Google Cloud. This content can be published as a scene service and the location you choose must be registered as a user-managed data store in ArcGIS Enterprise.

  • You can build a connection file (.acs) using the Create Cloud Storage Connection File tool.

Parameters

LabelExplanationData Type
Input Dataset

The OSGB format files, or folders containing OSGB format files, that will be imported into the integrated mesh scene layer package. This parameter allows a selection of multiple OSGB format files or a selection of multiple folders containing OSGB format files.

File; Folder
Output Scene Layer Package
(Optional)

The integrated mesh scene layer package that will be created. This parameter is required if the Target Cloud Connection parameter value is not specified.

File
Anchor Point
(Optional)

The point feature or .3mx, .xml, or .wld3 file that will be used to position the center of the OSGB model. If there are multiple points in the feature class, only the first point will be used to georeference the data.

Feature Layer; File
File Suffix
(Optional)

Specifies the files that will be processed for the input dataset.

  • All supported filesAll binary files, regardless of their extension, will be processed to determine if they are in the OSGB format.
  • Files with *.osgb extensionOnly files with the .osgb extension will be processed.
String
Output Coordinate System
(Optional)

The coordinate system of the output scene layer package. It can be any projected or custom coordinate system. Supported geographic coordinate systems include WGS84 and China Geodetic Coordinate System 2000. WGS84 and EGM96 Geoid are the default horizontal and vertical coordinate systems, respectively. The coordinate system can be specified in any of the following ways:

  • Specify the path to a .prj file.
  • Reference a dataset with the correct coordinate system.
  • Use an arcpy.SpatialReference object.

Spatial Reference
Maximum Texture Size
(Optional)

The maximum texture size in pixels for each scene layer node.

Long
Texture Optimization
(Optional)

Specifies the textures that will be optimized according to the target platform where the scene layer package is used.

Caution:

Optimizations that include KTX2 may take significant time to process. For fastest results, use the Desktop or None options.

  • AllAll texture formats will be optimized including JPEG, DXT, and KTX2 for use in desktop, web, and mobile platforms.
  • DesktopWindows, Linux, and Mac supported textures will be optimized including JPEG and DXT for use in ArcGIS AllSource clients on Windows and ArcGIS Maps SDKs desktop clients on Windows, Linux, and Mac. This is the default.
  • MobileAndroid and iOS supported textures will be optimized including JPEG and KTX2 for use in Maps SDKs mobile applications.
  • NoneJPEG textures will be optimized for use in desktop and web platforms.
String
Target Cloud Connection
(Optional)

The target cloud connection file (.acs) where the scene layer content (.i3sREST) will be output.

Folder
Output Name
(Optional)

The output name of the scene layer content when output to a cloud store. This parameter is only available when the Target Cloud Connection parameter value is specified.

String

arcpy.management.CreateIntegratedMeshSceneLayerPackage(in_dataset, {out_slpk}, {anchor_point}, {file_suffix}, {out_coor_system}, {max_texture_size}, {texture_optimization}, {target_cloud_connection}, {out_name})
NameExplanationData Type
in_dataset
[in_dataset,...]

The OSGB format files, or folders containing OSGB format files, that will be imported into the integrated mesh scene layer package. This parameter allows a selection of multiple OSGB format files or a selection of multiple folders containing OSGB format files.

File; Folder
out_slpk
(Optional)

The integrated mesh scene layer package that will be created. This parameter is required if the Target Cloud Connection parameter value is not specified.

File
anchor_point
(Optional)

The point feature or .3mx, .xml, or .wld3 file that will be used to position the center of the OSGB model. If there are multiple points in the feature class, only the first point will be used to georeference the data.

Feature Layer; File
file_suffix
(Optional)

Specifies the files that will be processed for the input dataset.

  • *All binary files, regardless of their extension, will be processed to determine if they are in the OSGB format.
  • osgbOnly files with the .osgb extension will be processed.
String
out_coor_system
(Optional)

The coordinate system of the output scene layer package. It can be any projected or custom coordinate system. Supported geographic coordinate systems include WGS84 and China Geodetic Coordinate System 2000. WGS84 and EGM96 Geoid are the default horizontal and vertical coordinate systems, respectively. The coordinate system can be specified in any of the following ways:

  • Specify the path to a .prj file.
  • Reference a dataset with the correct coordinate system.
  • Use an arcpy.SpatialReference object.

Spatial Reference
max_texture_size
(Optional)

The maximum texture size in pixels for each scene layer node.

Long
texture_optimization
(Optional)

Specifies the textures that will be optimized according to the target platform where the scene layer package is used.

Caution:

Optimizations that include KTX2 may take significant time to process. For fastest results, use the Desktop or None options.

  • AllAll texture formats will be optimized including JPEG, DXT, and KTX2 for use in desktop, web, and mobile platforms.
  • DesktopWindows, Linux, and Mac supported textures will be optimized including JPEG and DXT for use in ArcGIS AllSource clients on Windows and ArcGIS Maps SDKs desktop clients on Windows, Linux, and Mac. This is the default.
  • MobileAndroid and iOS supported textures will be optimized including JPEG and KTX2 for use in Maps SDKs mobile applications.
  • NoneJPEG textures will be optimized for use in desktop and web platforms.
String
target_cloud_connection
(Optional)

The target cloud connection file (.acs) where the scene layer content (.i3sREST) will be output.

Folder
out_name
(Optional)

The output name of the scene layer content when output to a cloud store. This parameter is only available when the target_cloud_connection parameter value is specified.

String

Code sample

CreateIntegratedMeshSceneLayerPackage example 1 (Python window)

The following sample demonstrates the use of this tool in the Python window.

import arcpy
arcpy.env.workspace = "C:/temp"
arcpy.managementCreateIntegratedMeshSceneLayerPackage(
    "terrain_osgb", "mesh.slpk", "anchor.wld3", "OSGB", arcpy.SpatialReference(4326))
CreateIntegratedMeshSceneLayerPackage example 2 (Python window)

The following sample demonstrates the use of this tool in the Python window with multifolder input.

import arcpy
arcpy.env.workspace = "C:/temp"
arcpy.managementCreateIntegratedMeshSceneLayerPackage(
    ["Tile_+001_+001", "Tile_+001_+002", "Tile_+002_+001"], "mesh.slpk", 
    "anchor.shp", "OSGB", arcpy.SpatialReference(4326), 2048, "DESKTOP")
CreateIntegratedMeshSceneLayerPackage example 3 (Python window)

The following sample demonstrates the use of this tool in the Python window with an output to a cloud store.

import arcpy
arcpy.env.workspace = "C:/temp"
arcpy.managementCreateIntegratedMeshSceneLayerPackage(
    ["Tile_+001_+001", "Tile_+001_+002", "Tile_+002_+001"], "mesh.slpk", 
    "anchor.shp", "OSGB", arcpy.SpatialReference(4326), 2048, "DESKTOP",
    'AWS.acs', 'mySceneLayer.i3srest')