Skip to content

Latest commit

 

History

History
272 lines (234 loc) · 8 KB

3Dobject_ReadMe.md

File metadata and controls

272 lines (234 loc) · 8 KB

3D Object Scene Layer (1.9)

A 3D object scene layer is used to visualize 3D objects. 3D object scene layers are often created from GIS data with attributes and explicitly modeled in 3D. These attributes allow definition queries to specify symbology and other properties in lieu of setting properties for each object individually. A 3D object scene layer can efficiently create and share just a few buildings or an entire city.

Examples:

New York LoD2 3D Buildings SLPK.
New York LoD2 3D Buildings service.

Montreal, Canada textured buildings SLPK.
Montreal, Canada textured buildings service.

Realistic 3D Object Scene Layer with textures

Realistic 3D Object Scene Layer with textures

Thematic 3D Object Scene Layer without textures

Thematic 3D Object Scene Layer without textures

3D Object Scene Layer Structure

The 3D object scene layer is structured into a tree of multiple JSON files. A 3D object scene layer can be represented as a scene layer package (*.slpk) or a I3S service. A 3D object scene layer contains the following:

3D object scene layer packages contain metadata and optionally contain a hash table for faster indexing.

Example of 3DObject layer structure

.<host>/SceneServer/layers
	+--0 // scene layer document
	+-- nodePages
	|  +-- 0
	|  +-- (...)
	+-- nodes
	|  +--0
	|  |  +-- attributes
	|  |  |  +--f_2
	|  |  |  +--f_4
	|  |  |  +--(...)
	|  |  +-- geometries
	|  |  |  +-- 0
	|  |  |  +-- 1
	|  |  |  +--(...)
	|  |  +-- textures
	|  |  |  +-- 0
	|  |  |  +-- 0_0_1
	|  |  |  +--(...)
	|  |  +-- 3dNodeIndexDocument*
	|  |  +-- shared* 
	|  |  +-- features^
	|  |  |  +-- 0
	|  |  (...) 
	+--statistics
	|  +-- f_2
	|  +-- f_4
	|  +-- (...)

* Only required for 1.6 compatability for older clients.
^ Not used by client. Human readable version of the features.

HTTP API Overview

Version 1.9 is backwards compatible with 1.6+. For older clients to be able to read 1.7+, sharedResources and the 3DNodeIndexDocument resources are included.

The following API methods are available for 3D Object scene layer:

Scene layer document

Type JSON
URL Template http://serviceURL/layers/{layerID}
Example http://my.server.com/3DObjectSceneLayer/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`.

3DSceneLayer

Node page

Type JSON
URL Template http://serviceURL/layers/{layerID}/nodepages/{nodePageID}
Example http://my.server.com/3DObjectSceneLayer/SceneServer/layers/0/nodepages/8
Description layerID: Integer. ID of the associated layer. Esri products expect this to be `0`.
nodePageID: Integer. ID of the associated node page.

nodePage

Texture

Type JPG, PNG, DDS, KTX
URL Template http://serviceURL/layers/{layerID}/nodes/{nodeID}/textures/{textureID}
Example http://my.server.com/3DObjectSceneLayer/SceneServer/layers/0/nodes/98/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/{geometryID}
Example http://my.server.com/3DObjectSceneLayer/SceneServer/layers/0/nodes/98/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.

Attributes

Type bin
URL Template http://serviceURL/layers/{layerID}/nodes/{nodeID}/attributes/f_{attributeID}/0
Example http://my.server.com/3DObjectSceneLayer/SceneServer/layers/0/nodes/2/attributes/f_5/0
Description The value for a specific attribute within a node.
layerID Integer. ID of the associated layer. Esri products expect this to be `0`.
nodeID Integer. ID of the associated node.
attributeID Integer. ID of the specific attribute for the layer.

Statistics

Type JSON
URL Template http://serviceURL/layers/{layerID}/statistics/f_{attributeID}/0
Example http://my.server.com/3DObjectSceneLayer/SceneServer/layers/0/statistics/f_5/0
Description The statistics for the entire layer for a specific attribute.
layerID Integer. ID of the associated layer. Esri products expect this to be `0`.
attributeID Integer. ID of the specific attribute for the layer.

Statistics

HTTP API included for backward compatibility with 1.6

Shared resources

Type JSON
URL Template http://serviceURL/layers/{layerID}/nodes/{nodeID}/shared
Example http://my.server.com/3DObjectSceneLayer/SceneServer/layers/0/nodes/98/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.

Shared Resources

3D node index document

Type JSON
URL Template http://serviceURL/layers/{layerID}/nodes/{nodeID}
Example http://my.server.com/3DObjectSceneLayer/SceneServer/layers/0/nodes/98
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.

3DNodeIndexDocument