Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Typo fixes #140

Merged
merged 2 commits into from
Jan 13, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/1.8/3DSceneLayer.cmn.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ When generating 3D Objects or Integrated Mesh scene layers, the root node never
| nodePages | [nodePageDefinition](nodePageDefinition.cmn.md) | The paged-access index description. |
| materialDefinitions | [materialDefinitions](materialDefinitions.cmn.md)[] | List of materials classes used in this layer. |
| textureSetDefinitions | [textureSetDefinition](textureSetDefinition.cmn.md)[] | Defines the set of textures that can be referenced by meshes. |
| geometryDefinitions | [geometryDefinition](geometryDefinition.cmn.md)[] | Define the layouts of mesh geometry and its attributes. |
| **geometryDefinitions** | [geometryDefinition](geometryDefinition.cmn.md)[] | Define the layouts of mesh geometry and its attributes. |
| fullExtent | [fullExtent](fullExtent.cmn.md) | 3D extent. If ```layer.fullExtent.spatialReference``` is specified, it must match ```layer.spatialReference```. |

*Note: properties in **bold** are required*
Expand Down
2 changes: 1 addition & 1 deletion docs/1.8/3DSceneLayer.psl.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ The 3DSceneLayerInfo object describes the properties of a layer in a store. Ever
| attributeStorageInfo | [attributeStorageInfo](attributeStorageInfo.cmn.md)[] | Provides the schema and layout used for storing attribute content in binary format in I3S. |
| statisticsInfo | [statisticsInfo](statisticsInfo.cmn.md)[] | Contains the statistical information for a layer. |
| pointNodePages | [nodePageDefinition](nodePageDefinition.cmn.md) | The paged-access index description. For legacy purposes, this property is called pointNodePages in [Point Scene Layers](3DSceneLayer.psl.md). |
| geometryDefinition | [geometryDefinition](geometryDefinition.psl.md) | Define the layouts of point geometry and its attributes. |
| **geometryDefinition** | [geometryDefinition](geometryDefinition.psl.md) | Define the layouts of point geometry and its attributes. |
| fullExtent | [fullExtent](fullExtent.cmn.md) | 3D extent. If ```layer.fullExtent.spatialReference``` is specified, it must match ```layer.spatialReference```. |

*Note: properties in **bold** are required*
Expand Down
272 changes: 272 additions & 0 deletions docs/1.8/3Dobject_ReadMe.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,272 @@
# 3D Object Scene Layer (1.8)

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**:<br />

New York LoD2 3D Buildings [SLPK](https://3dcities.maps.arcgis.com/home/item.html?id=3b3681b2476c4c31b2d187bebb0a1645).<br />
New York LoD2 3D Buildings [service](https://3dcities.maps.arcgis.com/home/item.html?id=fb47ee2fe4bb496f94dfcba5584e948c).<br />

Montreal, Canada textured buildings [SLPK](https://3dcities.maps.arcgis.com/home/item.html?id=2152b475da9542698d4fa42bc4efaf8d).<br />
Montreal, Canada textured buildings [service](https://3dcities.maps.arcgis.com/home/item.html?id=55f4164d43984e64b2cd2d36cd7cef53).<br />

*Realistic 3D Object Scene Layer with textures*

![Realistic 3D Object Scene Layer with textures](../img/LyonTextured.png)

*Thematic 3D Object Scene Layer without textures*

![Thematic 3D Object Scene Layer without textures](../img/LyonThematic.png)

## 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:

- [3DSceneLayer](3DSceneLayer.cmn.md)
- [nodePage](nodePage.cmn.md)
- geometryBuffer (binary)
- attributesBuffer (binary)
- textures (binary)
- [statistics](statsInfo.cmn.md)
- [3DNodeIndexDocument](3DNodeIndexDocument.cmn.md)*
- [sharedResource](sharedResource.cmn.md)*
- features^

3D object scene layer packages can optionally contain a [hash table](slpk_hashtable.cmn.md) 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._ <br />
_^ Not used by client. Human readable version of the features._ <br />



# HTTP API Overview 1.8

Version 1.8 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**

<table>
<tr>
<td>Type</td>
<td>JSON</td>
</tr>
<tr>
<td>URL Template</td>
<td>http://serviceURL/layers/{layerID}</td>
</tr>
<tr>
<td>Example</td>
<td>http://my.server.com/3DObjectSceneLayer/SceneServer/layers/0</td>
</tr>
<tr>
<td>Description</td>
<td>This is the root document for the service containing properties common to the entire layer.<br/>
<code>layerID</code>: Integer. ID of the associated layer. Esri products expect this to be `0`.</td>
</tr>
</table>

[3DSceneLayer](3DSceneLayer.cmn.md)

**Node page** <br />

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

[nodePage](nodePage.cmn.md)

**Texture**
<table>
<tr>
<td>Type</td>
<td>JPG, PNG, DDS, KTX </td>
</tr>
<tr>
<td>URL Template</td>
<td>http://serviceURL/layers/{layerID}/nodes/{nodeID}/textures/{textureID}</td>
</tr>
<tr>
<td>Example</td>
<td>http://my.server.com/3DObjectSceneLayer/SceneServer/layers/0/nodes/98/textures/0_0_1 </td>
</tr>
<tr>
<td>Description</td>
<td>The texture resource (image). <br/>
<code>layerID</code> Integer. ID of the associated layer. Esri products expect this to be `0`. <br/>
<code>nodeID</code> Integer. ID of the associated node. <br/>
<code>textureID</code> String. This ID returns one of the textures available for this node. The same texture may be available in different formats.</td>
</tr>
</table>

**Geometry**
<table>
<tr>
<td>Type</td>
<td>bin, draco</td>
</tr>
<tr>
<td>URL Template</td>
<td>http://serviceURL/layers/{layerID}/nodes/{nodeID}/geometries/{geometryID}</td>
</tr>
<tr>
<td>Example</td>
<td>http://my.server.com/3DObjectSceneLayer/SceneServer/layers/0/nodes/98/geometries/1 </td>
</tr>
<tr>
<td>Description</td>
<td>The geometry resource (mesh information). <br/>
<code>layerID</code> Integer. ID of the associated layer. Esri products expect this to be `0`. <br/>
<code>nodeID</code> Integer. ID of the associated node. <br/>
<code>geometryID</code> Integer. This ID returns one of the geometries available for this node. The same geometry may be available in a different format. </td>
</tr>
</table>

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

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

[Statistics](statsInfo.cmn.md)

## HTTP API included for backward compatibility with 1.6

**Shared resources**
<table>
<tr>
<td>Type</td>
<td>JSON</td>
</tr>
<tr>
<td>URL Template</td>
<td>http://serviceURL/layers/{layerID}/nodes/{nodeID}/shared</td>
</tr>
<tr>
<td>Example</td>
<td>http://my.server.com/3DObjectSceneLayer/SceneServer/layers/0/nodes/98/shared </td>
</tr>
<tr>
<td>Description</td>
<td>Legacy texture and material description. **Not used in 1.7+.**. <br/>
<code>layerID</code> Integer. ID of the associated layer. ArcGIS clients expect this to be `0`. <br/>
<code>nodeID</code> Integer. ID of the associated node. </td>
</tr>
</table>

[Shared Resources](sharedResource.cmn.md)

**3D node index document**

<table>
<tr>
<td>Type</td>
<td>JSON</td>
</tr>
<tr>
<td>URL Template</td>
<td>http://serviceURL/layers/{layerID}/nodes/{nodeID}</td>
</tr>
<tr>
<td>Example</td>
<td>http://my.server.com/3DObjectSceneLayer/SceneServer/layers/0/nodes/98</td>
</tr>
<tr>
<td>Description</td>
<td>Description of the node. **Not used in 1.7+.**<br/>
<code>layerID</code> Integer. ID of the associated layer. Esri clients expect this to be `0`.<br/>
<code>nodeID</code> Integer. ID of the associated resource.</td>
</tr>
</table>

[3DNodeIndexDocument](3DNodeIndexDocument.cmn.md)

6 changes: 3 additions & 3 deletions docs/1.8/BSL_ReadMe.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Building Scene Layer
# Building Scene Layer (1.8)

Building content is often derived from Building Information Modeling (BIM) workflows. BIM is a best-practice process for optimizing design and construction. BIM processes can produce 3D virtual representations of real-world assets that are commonly used for construction, documentation, and evaluation. BIM processes are applied in multiple domains including architecture, buildings, energy, utilities, and transportation. A building scene layer can represent the 3D model content based on BIM structuring disciplines such as architectural or structural, and categories such as windows or walls.

**Examples**:<br />
Building Scene Layer example(Need 1.8 version) [SLPK](https://www.arcgis.com/home/item.html?id=f830fd580eb24f9b8c749d700b6249b3 ).<br />
Building Scene Layer example(Need 1.8 version) [service](https://www.arcgis.com/home/item.html?id=64f68adf72474330b195ba2718a8d3e0).<br />
Building Scene Layer example [SLPK](https://3dcities.maps.arcgis.com/home/item.html?id=3e6417f6544b422496a022f6e84aeaaa).<br />
Building Scene Layer example [service](https://3dcities.maps.arcgis.com/home/item.html?id=bc11dd06a20546509679c1b3bc83380d).<br />

*Example of a Building Scene Layer*

Expand Down
Loading