Scene Layers: Service and Package Standard
This repository hosts the specification for scene layers. Scene layers are containers for large amounts of geographic data. The delivery format and persistence model, referred to as indexed 3D scene layer (I3S) and scene layer package (.slpk) respectively, are specified in detail. Both formats are encoded using JSON and binary ArrayBuffers.
The format I3S originated from investigation into technology for rapidly streaming and distributing large volumes of 3D content across enterprise systems. These systems can include server components, cloud hosted components, and a variety of client software from desktop to web to mobile applications.
A single I3S data set, referred to as a scene layer, is a container for arbitrarily large amounts of heterogeneously distributed 3D geographic data. A scene layer is characterized by a combination of layer type and profile to fully describe the behavior of the layer and the manner in which it is realized within the specification.
The I3S format is declarative and extendable, and can be used to represent different types of 3D data. The following layer types have been specified and the standard validated via implementation and production deployments:
- 3D Objects (e.g. building exteriors, from GIS data as well as 3D models in various formats)
- Integrated Mesh (e.g. an integrated surface representing the skin of the earth, gathered through satellite, aerial, or drone imagery via dense matching photogrammetric software)
- Point (e.g. hospitals, schools, trees, street furniture, signs, from GIS data)
- Point Cloud (e.g. large point data from LiDAR)
- Building Scene Layer (e.g. comprehensive building model including building components)
The specification of the indexed 3D scene layer (I3S) and scene layer package (*.slpk), as well as the specification for accessing I3S resources as scene service REST endpoints, are described in this standard as open formats. The REST endpoint implementations are described in the ReadMe for each profile.
Designed for Web, Mobile and Cloud
The goal is to be able to stream large 3D datasets with high performance and scalability. The I3S format is designed from the ground up to be cloud, web and mobile friendly. It is based on JSON, REST and modern web standards, making it easy to handle, parse, and render by Web and Mobile Clients.
Designed for 3D
The I3S format is intrinsically designed to support 3D geospatial content. The requisite coordinate systems and height models are used in conjunction with a rich set of layer types.
Open Standard
For the purpose of encouraging community adoption and feedback, the I3S format is an open standard. By being an open standard, we further hope to ensure that adopting organizations have flexibility in accessing and visualizing their 3D data. The standard is licensed under the Creative Commons Attribution-NoDerivatives 4.0 International Public License. Implementers can use the standard in services, clients or processing tools without restrictions. Consult the license section below for more information.
An OGC Community Standard
On August 8 2017, the Open Geospatial Consortium (OGC) approved I3S as a community Standard which was released to the public as OGC Indexed 3d Scene Layer (I3S) and Scene Layer Package Format Specification version 1.0.
The open community GitHub specification hosted in this repository is the sole source of content to the OGC I3S Community Standard. The I3S community specification evolves primarily driven by advancements in technology as well as community needs. The OGC process allows for updating and synchronizing the Community Standard with this open community GitHub version at regular intervals to achieve equivalency.
OGC is in the process of updating the I3S Community Standard to Version 1.1 to pick up updates from this repository. To facilitate this process, as well as provide new capabilities fast to the community without impacting existing scene layer types and profiles, each I3S profile evolves and is versioned independently.
The table below shows how the OGC I3S Community Standard relates to the I3S specification hosted here.
I3S Profile | Supported Layer Types | I3S Version | OGC I3S Community Standard Version |
---|---|---|---|
MeshPyramids | 3D Object and Integrated Mesh | 1.6 | 1.0 |
Points | Point | 1.6 | 1.0 |
PointClouds | Point Cloud | 2.0 | 1.1 (under adoption process) |
A small number of optional changes for the Mesh Pyramids profile (3D Objects and Integrated Mesh Scene Layers), as detailed here, were made to the I3S 1.6 community specification after its adoption as the OGC I3S 1.0 Community Standard. These changes are in the process of being picked up for the OGC Community Standard 1.1 update.
The Point Cloud Scene Layer specification is going through the adoption process for inclusion in OGC I3S 1.1. Through this process, new layer types could be added to I3S Standard.
The following changes to the I3S community specification are yet to be proposed for incorporation into the OGC I3S Community Standard:
- The performance optimizations for the MeshPyramids profile that are part of the I3S 1.7 community specification.
- Inclusion of the Building Scene Layer, first introduced at I3S 1.6.
What's New?
Version 1.6
Released 03/01/2019 - (applies to MeshPyramids profile)
3D Object Scene Layer
- Oriented Bounding Boxes - Introduces support for Oriented Bounding Boxes as a bounding volume.
- Attribute Domain (i.e. field) - Attribute Domains are rules that describe the allowed values of a field type, providing a method for enforcing data integrity. For example, domain values can be used in pop-ups with definition queries.
- serviceUpdateTimeStamp - Provides the time stamp when the I3S service or the source of the service was created or updated. This property can be used in conjunction with the associated feature layer for editing.
Building Scene Layer
- Building Scene Layer profile specification. The Building Scene Layer is used to visualize and work with buildings.
Version 1.7
Released 06/30/2019 - (applies to MeshPyramids profile)
3D Object Scene Layer and Integrated Mesh Scene Layer
- Nodes are now accessible as pages using a page node index - significantly reducing server-client traffic.
- Support for Draco geometry compression - more compact geometry allows for smaller payloads.
- Support for advanced material such as physically based materials.
- Deprecated SharedResource - sharedResource properties are readily available in the node index resource.
- New tooling to validate existing slpk and convert Integrated Mesh or 3D Object scene layers to I3S 1.7.
I3S specification version 1.7 is backwards compatible with I3S Version 1.6 and is currently supported by ArcGIS Pro 2.4 and ArcGIS Online. More support of I3S 1.7 across the ArcGIS platform will roll out in upcoming releases.
Version 2.0
Released 03/01/2019 - (applies to Point Cloud profile)
Point Cloud Scene Layer
- Point Cloud Scene Layer profile specification. The Point Cloud Scene Layer is used to visualize sensor data, including LiDAR.
Where Can I Use...?
There are several applications that can create and consume scene layers. The tables below list some of these applications. This is an evolving list and will be updated frequently. If an application that either consumes or generates scene layers is missing, please let us know so we can add it to the list.
Vendor | Product/URL | Scene Layer Type |
Bentley | ContextCapture | IntegratedMesh |
Vricon | Vricon | IntegratedMesh |
Pix4D | Pix4D | IntegratedMesh |
Skyline | PhotoMesh | IntegratedMesh |
List of vendors and products that support creation of I3S layers.
The Table below shows the various scene layer types that are supported by the ArcGIS platform.
This table reflects the current versions of the ArcGIS Clients.
Scene Layer Types |
ArcGIS Earth | Esri City Engine | ||||
---|---|---|---|---|---|---|
Publishing | Consuming | First Released | Publishing | Consuming | First Released | |
3D Object | 1.6 | 2017.1 | ||||
Integrated Mesh | 1.6 | |||||
Point | ||||||
Point Cloud | ||||||
Building Scene Layer |
Contributing
You are invited to fork this repository and to submit pull requests with ideas for improvements, bugs, or issues in this documentation. Creating a fork solely for this purpose does not constitute the creation and distribution of a derivative work. Please see our guidelines for contributing.
License for indexed 3D scene format and REST endpoint specification
Copyright © 2015 - 2019 Esri
The specification is licensed under the Creative Commons Attribution-NoDerivatives 4.0 International Public License. You can implement the specification in services, clients or processing tools without restrictions.
You may also extend or modify the standard using the built-in extension and profiling mechanisms, however modified or extended versions of the standard may not be redistributed. The standard may only be redistributed in its unmodified version, under the same license.
You are free to:
- Share — copy and redistribute the material in any medium or format for any purpose, even commercially.
- The licensor cannot revoke these freedoms as long as you follow the license terms.
Under the following terms:
- Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- No derivatives — If you remix, transform, or build upon the material, you may not distribute (see note below) the modified material.
- No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
License history:
Version 1.0 – 1.5 (04/30/2015 to 01/30/2017) of this specification are licensed under the older Creative Commons Attribution-NoDerivs 3.0 Unported license.
Version 1.6 – present integrated mesh, 3D object, point scene layer, building scene layer (dated 01/31/2017 to present) of this specification are licensed under the newer Creative Commons Attribution-NoDerivatives 4.0 International Public License.
Version 1.7 – present integrated mesh and 3D object (dated 06/30/2019 to present) of this specification are licensed under the newer Creative Commons Attribution-NoDerivatives 4.0 International Public License.
Version 2.0 - present point cloud scene layer (01/01/2017 to present) of this specification are licensed under the newer Creative Commons Attribution-NoDerivatives 4.0 International Public License.
License for JSON resources, validator, and examples
The supplementary resources may be updated without notice and are provided for use under the Apache 2.0 license and may be used, under the terms of that license, at your own risk.