Integrated mesh scene layers are generally created for citywide 3D mapping. Integrated mesh scene layers include an entire surface and cannot be restyled. Three-dimensional mesh data are typically captured by an automated process (e.g. drone) for constructing 3D objects out of large sets of overlapping imagery. The result integrates the original input image information as a textured mesh including 3D objects, such as buildings and trees, and elevation information.
Examples:
Rancho Cucamonga Fire Station No. 3 SLPK.
Rancho Cucamonga Fire Station No. 3 service.
Example of integrated mesh scene layer
The Integrated Mesh scene layer is structured into a tree of multiple JSON files. Integrated mesh scene layers can be represented as a scene layer package (*.slpk) or a I3S service. A Integrated Mesh scene layer contains the following:
- 3DSceneLayer
- nodePage
- geometryBuffer (binary)
- textures (binary)
- sharedResource*
- 3DNodeIndexDocument*
*Shared resources are deprecated as of version 1.7 and are only included for backwards compatibility.
Integrated mesh scene layer packages can optionally contain a hash table for faster indexing.
Example of integrated mesh scene layer structure
.<host>/SceneServer/layers
+--0 // scene layer document
+-- nodePages
| +-- 0
| +-- (...)
+-- nodes
| +--0
| | +-- geometries
| | | +-- 0
| | | +-- 1
| | | +--(...)
| | +-- textures
| | | +-- 0
| | | +-- 1
| | | +--(...)
| | +-- 3dNodeIndexDocument*
| | +-- shared*
| +-- (...)
* Only required for 1.6 compatibility for older clients.
Spec version 1.9 is backwards compatible with 1.6+. For all of our clients to be able to read 1.7+, sharedResources and the 3DNodeIndexDocument resource are included but not used in 1.7+.
The following API methods are available for integrated mesh scene layer:
Scene layer document
Type | JSON |
URL Template | http://serviceURL/layers/{layerID} |
Example | http://my.server.com/IntegratedMeshSceneLayer/SceneServer/layers/0 |
Description | This is the root document for the service containing properties common to the entire layer. layerID : Integer. ID of the associated layer. Esri products expect this to be `0`. |
Node page
Type | JSON |
URL Template | `http://serviceURL/layers/{layerID}/nodepages/{nodePageID}/` |
Example | http://my.server.com/IntegratedMeshSceneLayer/SceneServer/layers/0/nodepages/1 |
Description | layerID : Integer. ID of the associated layer. Esri products expect this to be `0`. nodePageID : Integer. ID of the associated node page. |
Textures
Type | JPG, PNG, DDS, KTX |
URL Template | http://serviceURL/layers/{layerID}/nodes/{nodeID}/textures/{texture ID} |
Example | http://my.server.com/IntegratedMeshSceneLayer/SceneServer/layers/0/nodes/9/textures/0_0_1 |
Description | The texture resource (image). layerID : Integer. ID of the associated layer. Esri products expect this to be `0`. nodeID : Integer. ID of the associated node. textureID : String. This ID returns one of the textures available for this node. The same texture may be available in different formats. |
Geometry
Type | bin, draco |
URL Template | http://serviceURL/layers/{layerID}/nodes/{nodeID}/geometries/{geometry ID} |
Example | http://my.server.com/IntegratedMeshSceneLayer/SceneServer/layers/0/nodes/9/geometries/1 |
Description | The geometry resource (mesh information). layerID : Integer. ID of the associated layer. Esri products expect this to be `0`. nodeID : Integer. ID of the associated node. geometryID : Integer. This ID returns one of the geometries available for this node. The same geometry may be available in a different format. |
Shared resources
Type | JSON |
URL Template | http://serviceURL/layers/{layerID}/nodes/{nodeID}/shared |
Example | http://my.server.com/IntegratedMeshSceneLayer/SceneServer/layers/0/nodes/9/shared |
Description | Legacy texture and material description. Not used in 1.7+. layerID : Integer. ID of the associated layer. ArcGIS clients expect this to be `0`. nodeID : Integer. ID of the associated node. |
3D node index document
Type | JSON |
URL Template | http://serviceURL/layers/{layerID}/nodes/{nodeID} |
Example | http://my.server.com/IntegratedMeshSceneLayer/SceneServer/layers/0/nodes/9 |
Description | Description of the node. Not used in 1.7+. layerID : Integer. ID of the associated layer. Esri clients expect this to be `0`. nodeID : Integer. ID of the associated resource. |